/countable

Personnal bank account management app. Made with Node / Angular 2.

Primary LanguageTypeScript

Countable

Build Status

  1. Overview
  2. Requierements
  3. Functionnalities
  4. Main commands
  5. License
  6. Contributions

Overview

Project status: 🚧under development 🚧.

This project was generated with angular-cli version 1.0.0-beta.24. It is mainly based on following technologies:

Backend:

  • Typescript 2.x
  • Express 4.x (restful api) and ts-express-decorators
  • SQLite using sqlite3 module
  • Mocha, Chai and mocha-typescript (unit tests)
  • TSLint and CodeLyzer (code quality)

Frontend:

  • Typescript 2.x
  • Angular 2.3.x
  • Jasmine and Karma (unit tests)
  • TSLint and CodeLyzer (code quality)
  • Webpack (build)

Requierements

Dependency Version
nodejs 6.9.5 or higher
npm 3.10.10 or higher

Functionnalities

List of planned functionality:

  • Create and manage accounts
  • Create and manage categories
  • Create and manage subcategories
  • Standard transactions (incomes/expenses)
  • Account-to-account transactions
  • Dashboard
  • Statistic tools and graphics
  • Multi-user application

List of developer features:

  • Continuous integration (Travis CI)
  • Frontend Unit tests
  • Frontend code coverage tool - waiting for stable release of instanbul-coverage
  • Backend Unit tests
  • Backend code coverage tool
  • Integrate online code coverage tool
  • End-to-end (e2e) tests
  • Docker integration
  • API Swagger

Main commands

  • npm install Install dependencies
  • npm start Start both frontend and backend
  • npm run front Start frontend
  • npm run server Start backend
  • npm run build Build the whole application
  • npm test Start both frontend and backend unit tests
  • npm run front-test Start frontend unit tests
  • npm run back-test Start backend unit tests
  • npm run lint Start linter

⚠️ On Windows, you may need to replace 'export' keywords by 'set'. Otherwise, commands like npm start or npm test may not work as expected.

License

MIT

Contributions

Any contribution or suggestion would be really appreciated. Do not hesitate to use the Issue section or to send a pull request.