npm install
npm run migrate
npm start
npm test
This will also generate html test coverage reports under coverage and open the reports on browser.
- Servers will automatically reload on changes.
- Browsers will automatically reload on changes in frontEnd folder.
- Code inside dist is auto-generated, DO NOT make any change in it.
- Edit code inside src is for development purpose.
- Database used is mongoDB.
- Development mode - set
NODE_ENV
todevelopment
. - Production mode - set
NODE_ENV
toproduction
.
All the necessary configurations like back end server, front end server, database, etc are stored in the configuration folder. A README is available for it.
- To create a new migration run
npm run create-migration <name>
. This will create a new migration in src/main/db/migrations with the given name. - To migrate up run
npm run migrate
. This will migrate up all the migrations into the database. - To migrate down run
npm run migrate down <name>
. This will migrate down the migration with the given name from the database. - To list migrations run
npm run list-migrations
. This will list all the migrations with their statuses. - To prun migrations run
npm run prune-migrations
. This will remove all the deleted migrations from the database.
- .babelrc - the babel configuration file, for configuring es6 traspilation configuration.
- config.README.md - describes the configurations.
- .eslintrc.json - eslint configuration file.
- package.json - npm package configuration. Contains list of dependencies and scripts. A README is available for it.
- package.json.README.md - describes the dependencies and scripts in package.json.
- README.md - this file, contains necessary documentations.
- src - the folder that contains the development code. Edit files in this folder for development purpose.
- backEnd - contains the back end code.
- main - the back end dev code.
- app - contains the mvc application.
- controllers - contains the mvc controllers.
- services - contains the business logic.
- config - configurations of the back-end app like routers, middlewares, etc.
- Middlewares - contains the middleware configurations.
- Router - HTTP router.
- index.js - the code that is run by nodemon for starting the back end server.
- ioc - contains inversion of control configurations.
- lib - contains customized libraries.
- app - contains the mvc application.
- test - the back end tests.
- main - the back end dev code.
- config - contains different configurations.
- dev.conf.js - configuration file for devlopment mode.
- index.js - configuration resolved based on mode.
- prod.conf.js - configuration file production mode.
- dataAccess - contains the database schemas.
- db - contains the database migration configurations.
- migrations - contains the database migration files.
- migrate.conf.js - contains the database migration configurations.
- MigrationHelper - contains helper functionality for migration.
- frontEnd - contains the front end code.
- main - the front end dev code.
- app - contains the react application.
- actions - contains the redux actions.
- components - contains the react components.
- middlewares - contains the custom redux middlewares.
- reducers - contains the redux reducers.
- services - contains the async services.
- template.html - landing template for react application.
- img - folder for storing custom images.
- index.js - the code that is run by webpack dev server for starting the front end server.
- registry - contain registered stuff (needs to be improved).
- scripts - folder for storing custom js.
- styles - folder for storing custom css.
- webpack.config.js - contains the webpack configurations.
- app - contains the react application.
- test - the front end tests.
- main - the front end dev code.
- backEnd - contains the back end code.
- tsconfig.json - type script configuration. Needed for decorators in vscode.
- .nyc_output - the folder in which the test coverage data is saved in.
- coverage - the folder in which the test covergage reports are generated into.
- dist - the folder in which the es6 code is transpiled into and the servers runs on.
- node_modules - the folder in which the node modules are installed.
- package-lock.json - the compiled npm package configuration file.