Skip to content

wo-yashsinghvi/dhwise-node-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

NodeJS,Mongoose,Express Project in MVC Architecture

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

About

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

Initial

  1. $ npm install

  2. $ npm start

  3. Credentials

    • One user with User role,

    Default User credentials

    username : Antone.Dietrich password : 0Z2pdDaKCl7nOvo

    • One user with Admin role,

    Default Admin credentials

    username : Einar91 password : 565wQ53nT5UF9cR

How to use generated APIs:

Click here to visit documentation

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