Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

syed kamruzzaman
syed kamruzzaman

Posted on

     

Simple Nodejs MC Pattern

There are a lot of MC Pattern you can find on google.
Today, I am talking about my favorite MC Pattern. I am also PHP developer. PHP one of the most popular Frameworks is Laravel. I am fond of Larevel MVC Pattern.
When I am building any project, trying to follow Laravel MVC Pattern.

let's do my Favourite MC pattern.

Prerequisites
Before we move on, you’ll need to have the following:

  1. Node.js installed on your machine.
  2. setup mongoDB on you computer.

Step-1
Create a Database on your MongoDB and also collection name.

Image description

Step-2
open your cmd terminal and type npm init -y
and install following package.

  1. express
  2. mongoose
  3. body-parser
  4. mongoose
  5. nodemon
"dependencies": {    "body-parser": "^1.20.0",    "express": "^4.17.3",    "mongoose": "^6.3.0"  },  "devDependencies": {    "nodemon": "^2.0.15"  }
Enter fullscreen modeExit fullscreen mode

go tohttps://www.npmjs.com/ site and find out this package.

Step-3
following file structure do I have

Image description

Step-4
Create a new fileindex.js into routes folder [src/routes/index.js] and write this code.

const express = require('express');const route = (app)=>{    //unknowen route    app.use('*', (req, res)=> res.status(404).json({status:"fail", data:"Route does not exist"}));}module.exports = route;
Enter fullscreen modeExit fullscreen mode

Step-4
Now go to app.js file and write this code

const express = require('express');const route = require('./src/routes/index');const dbConnection = require('./src/utils/dbConnection');const bodyParse = require('body-parser');const app = new express();//use appapp.use(bodyParse.json());app.use(bodyParse.urlencoded({ extended: true }));//mongoose DB connnectiondbConnection();//Route connectroute(app);module.exports = app;
Enter fullscreen modeExit fullscreen mode

Step-5
We are just ending basic setup. First go to dbConnection.js file [src/utils/dbConnection.js] and write-

const mongoose = require('mongoose');const dbConnection = async () =>  {      const URI  = await "mongodb://localhost:27017/mongoose_query_pattern";      mongoose.connect(URI,        err => {            if(err) throw err;            console.log('connected to MongoDB')        });}module.exports = dbConnection;
Enter fullscreen modeExit fullscreen mode

then go to index.js [root index] file and write this code

const app = require('./app');app.listen(5000,function () {    console.log("This Server is running from 5000 port")});
Enter fullscreen modeExit fullscreen mode

Ok, now finished our basic setup. Open your Terminal and type nodemon index.js. if all is ok then showing as the image.

Image description

Now our database connection is ok and run our app successfully. Lets do MC Pattern

Step-6
Create userRouterApi.js file on routes folder. [src/routes/userRouterApi.js] and write this

const express = require('express');const UserController = require('../controllers/UserController');const router = express.Router();router.get('/test-user-api', UserController.testUser)module.exports = router;
Enter fullscreen modeExit fullscreen mode

Step-7
Create another file, name is UserController.js on controllers folder [src/controllers/UserController.js] and write this

module.exports = class UserController{        static testUser = async(req, res)=>{            try{                return res.status(200).json({                  code: 200,                  message: "Test User api call",                  data: "Test User api call",                });            }catch(error){              res.status(501).json({                code: 501,                message: error.message,                error: true,              });            }        }}
Enter fullscreen modeExit fullscreen mode

Step-8
Now go to index.js file which is located on routes folder [src/roues/index.js] and write this

const express = require('express');const userRouterApi = require('./userRouterApi');const route = (app)=>{    //All user router     app.use('/api/v1', userRouterApi);    //unknowen route    app.use('*', (req, res)=> res.status(404).json({status:"fail", data:"Route does not exist"}));}module.exports = route;
Enter fullscreen modeExit fullscreen mode

Now, you have done user controller first route. which is

http://localhost:5000/api/v1/test-user-api

if you open your postman and run this URL. you can see below this output

Image description

this project you can see also another folder. Like as middlewares, models, repositories and utils.

middlewares folder- you can write any middleware related code.
models folder- you can write all models in this folder.
repositories folder - if you know about repository pattern, then your code will be well structure. Another day I will talking about repository pattern
utils folder - all Extra function, like as jwt, authentication, databaseConncetion etc. you can add this folder.

That's all. Happy Learning :) .
[if it is helpful, giving a star to the repository 😇]
https://github.com/kamruzzamanripon/simple-node-mc-pattern

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Frontend and Backend Full Stack Developer
  • Location
    Dhaka, Bangladesh
  • Education
    Master of Economic
  • Joined

More fromsyed kamruzzaman

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp