The frontend is generated with Angular CLI. The backend is made from scratch. Whole stack in TypeScript.
This project uses the stack:
- Loki.js: Javascripr file database
- Express.js: backend framework
- Angular 4: frontend framework
- Node.js: runtime environment
Other tools and technologies used:
- Angular CLI: frontend scaffolding
- Bootstrap: layout and styles
- Font Awesome: icons
- JSON Web Token: user authentication
- Angular 2 JWT: JWT helper for Angular
- Bcrypt.js: password encryption
- It is using a Loki DB which save data to files inside directory data
- This files can be external edited then application will automatically reload DataBase
- Install Node.js ^8.9.4
- Install Angular CLI:
npm i -g @angular/cli - From project root folder install all the dependencies:
npm i
npm run dev: concurrently execute Angular build, TypeScript compiler and Express server.
A window will automatically open at localhost:4200. Angular and Express files are being watched. Any change automatically creates a new bundle, restart Express server and reload your browser.
npm run prod: compile the project with a production bundle and AOT compilation
`node dist/server/app.js run the project listening at localhost:3000
At first tim you must execute as dev bundle to can create admin user
npm i: install all dependencies
npm run prod: compile angular files
del node_modules: remove all dev dependencies
npm i --production: install only production dependencies
npm zip create package
- Extract file
bin/Syncway.zip - go to extracted folder
- execute
install.batstart.bat
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via npm start.
Run ng lint to execute the linter via TSLint.
To get more help on the angular-cli use ng --help or go check out the Angular-CLI README.