This project is about book keeping and managing it in a well manner.
Language : Node.js
Framework : Sail.js
Testing Kit : Jest, Supertest
Database : MongoDB
IDE : VS Code
Template Engine : EJS
Tools : Passport.js, Bcrypt, Bootstrap 4,
In the project directory, first you have to run -
npm install
sails lift || node app.js
npm test
nodemon app.js
After changing the specific environment variable for production
npm start
Open URL : To view the site in the browser. http://localhost:1337/
Only for demo purpose https://bookstores-app.herokuapp.com
Access : Admin Panel/Controls
URL : https://bookstores-app.herokuapp.com/Login
User : | Pass : |
---|---|
admin | 12345 |
*For Educational purpose, please don't change the passwords.
This project was tested and CI/CD implemented via Github to Heroku Server. Strategy for Matrix, node-version: checked for [10.x, 12.x], but don't try it simultaneously for testing, because sails orm cannot handle it by doing sails lift at the same time for multiple request, so do it sequencially.
- For best practices and better performance:
- CI/CD .yml :
node-version: [10.x, 12.x] -> [12.x]
- package.json :
"test": "<instruction> --runInBand"
- Quick fix:
- If heroku server store the caches and not updating the production environment code
$ heroku restart -a bookstores-app
- Heroku maintains a cache directory that is persisted between builds. This cache is used to store caches for npm, yarn, and bower. You can disable all caching for Node.js apps if you prefer: ex.
node_modules
$ heroku config:set NODE_MODULES_CACHE=false
$ git commit -am 'disable node_modules cache' --allow-empty
$ git push heroku master
This project is only build for educational purpose
Sails.js Framework, AdminLTE, Jest (by Facebook), Fontawesome, Flaticon & other JS package owners