Skip to content

Commit

Permalink
1st commit
Browse files Browse the repository at this point in the history
moved from private to public repository
  • Loading branch information
Ron Valstar committed Jun 16, 2017
1 parent e285a9d commit 192b380
Show file tree
Hide file tree
Showing 152 changed files with 12,938 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .angular-cli.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
"version": "1.2.3",
"name": "project-invoice"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"static",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"style.scss"
],
"scripts": [
"../node_modules/lodash/lodash.min.js",
"../node_modules/signals/dist/signals.js",
"../node_modules/html2canvas/dist/html2canvas.js",
"../node_modules/sass.js/dist/sass.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json"
},
{
"project": "src/tsconfig.spec.json"
},
{
"project": "e2e/tsconfig.e2e.json"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"component": {}
}
}
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = false
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false
49 changes: 49 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.

/_old

# compiled output
/build
/dist

/temp
/data
/output
/src/data
/src/lang

# dependencies
/node_modules

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# misc
/.sass-cache
/connect.lock
/coverage/*
/libpeerconnection.log
npm-debug.log
testem.log
/typings

# e2e
/e2e/*.js
/e2e/*.map

#System Files
.DS_Store
Thumbs.db
24 changes: 24 additions & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"globals": {
},
"strict": true,
"browser": true,
"jquery": true,
"devel": true,
"plusplus": false,
"white": false,
"nomen": false,
"noarg": true,
"nonew": true,
"undef": true,
"unused": true,
"trailing": true,
"laxcomma": true,
"loopfunc": true,
"scripturl": true,
"smarttabs": true,
"boss": true,
"expr": true,
"noempty": false,
"laxbreak": true
}
64 changes: 64 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Project Invoice

This invoicing application stores all your data on your local machine.

Project Invoice is accessible offline after the application has been loaded for the first time.
Your local documents are not shared between different browsers or computers.
Clearing your browser's data may **delete all your local documents!**. Backup your data regularly!


## Getting Started

You can head to [Project Invoice](http://sjeiti.github.io/project-invoice) and start creating invoices.
Or you can make a local installation.

### Running on localhost

To get the application running you only need NodeJS, npm and GIT. If you don't know what those are you might be better off simply using the online version, your data will be just as safe.

`git clone https://github.com/Sjeiti/project-invoice.git`
`npm i`
`npm run start`


## Why

Being self-employed all my life means I've been sending invoices for quite a while. I've seen a lot of invoicing software/services but was never really satisfied.
So I created my own:

- no cloud based data, everything is saved on your local machine, nothing is sent to a server
- invoices are well designed and customizable
- its easy to use
- its open-source
- its free
- you can use the online version or run a local copy

I cleaned it up a bit because I thought you might like it.


##faq

###Wait, this app is online in a browser. How is my private data not online?

Every site can access something called LocalStorage which resides on your local machine. This is where your data is stored. Websites can never access the LocalStorage of another website. Never will data be sent from your computer to the server. The only network communication is the application logic being sent from the server to your computer. All your private data remains on your own computer.

###Is this safe?

Storing your data on your local machine is safer than sending and receiving it over the internet. And since LocalStorage is so called origin-specific, only this website can read this websites LocalStorage. But you can also run this on localhost if your tech savvy enough. It is as safe as you treat your computers security.

###Don't I have to login with a username and password?

Logins are useful for server authentication. But since your data is stored on your local machine and not on a server, no authentication is needed.

###How can I access my data from different machines?

Since the data is stored locally you can only access it from one computer. However you can save and/or import the data from the settings page. You could save it on a usb stick to transfer the data to a different computer.

###I want to clear my LocalStorage to wipe all my data.

There is a button for that on the settings page.


##License

This project is licensed under the MIT License - see the LICENSE.md file for details
33 changes: 33 additions & 0 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html

module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
environment: 'dev'
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
Loading

0 comments on commit 192b380

Please sign in to comment.