Skip to content

kalib-code/express-app

Repository files navigation

NodeJS, Sequelize, Express Project in MVC Architecture

Supported version of nodejs >= 12, Supported version of sequelize >= 6

About

  • This is a Node application, developed using MVC pattern with Node.js, ExpressJS, and Sequelize ORM.
  • SQL database is used for data storage, with object modeling provided by Sequelize.

Initial

  1. $ npm install

  2. $ npm start

  3. Credentials

    - One user with User role,
    # Default User credentials
    **username** : Linnea.Lebsack
    **password** : lk8jTBNhuNXwk9W
    
    
    - One user with Admin role,
    # Default Admin credentials
    **username** : Rachael.Gerlach93
    **password** : i7YL_JUqZA9TUKZ
    

How to run with Docker ? :

  • if you have docker file you can execute following command
  • build the image $ docker build --pull --rm -f "Dockerfile" -t <imageName>:latest "."
  • execute the command $ docker run -p 3000:3000 <imageName>

Folder structure:

  ├── app.js       - starting point of the application
  ├── config
  │   └── db.js    - contains api database connection
  ├── constants    - contains commonly used constants 
  ├── controllers               
  │   └── platform - contains business logic
  ├── jobs         - cron jobs
  ├── models       - models of application
  ├── postman      - postman collection files
  ├── routes       - contains all the routes of application
  ├── services     - contains commonly used services
  ├── views        - templates
  └── utils        - contains utility functions    

Detail Description of Files and folders

  1. app.js
  • entry point of application.
  1. config
  • passport strategy files
  • database connection files
  1. constants
  • constants used across application.
  1. controllers
  • Controller files that contains Business logic
	├── controller
		└── platform
			└── modelNameController.js        - contains CRUD Operations
  1. jobs
  • Cron jobs
  1. middleware
  • Middleware files for authentication, authorization and role-access.
  1. models
  • Database models
  1. postman
  • Postman collection of APIs (Import this JSON in Postman to run the APIs)
  1. public
  • Assets used in application
  1. routes
	├── routes
		├── platform
			├── modelNameRoutes.js   - contains CRUD operation routes
			└── index.js             - exports model Routes
		└── index.js                 - exports platform routes

  • index.js file, exports platform routes, imported into app.js to access all the routes.
  1. services
	├── services
		├── jobs                     - cron jobs
		└── auth.js                  - Authentication module service

  1. utils
	├── utils
		├── validations              - joi validations files for every model
		├── dbService.js             - Database functions 
		├── messages.js              - Messages used in sending response 
		├── responseCode.js          - response codes 
		└── validateRequest.js       - validate request based on model schema

  1. env files
  • You can add credentials and port, database values as per your environment(Development/Production).
  • If you are running test environment then test cases will run using test database,and its configuration is there inside app.js

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages