Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

step by step MVC API create

npm init npm i express dotenv mongoose nodemon cookie-parser (add dependencies) add "type":"module" below the main in pakage.Json "start": "npm server.js"; (in the scripts) "dev":"nodemon server.js"; (in the scripts)

step -1(create app.js file ) [ import express from "express"; import userRouter from './routes/user.js'; import {config} from "dotenv"

export const app = express();

config({ path:"./data/config.env", });

//using Middlewares app.use(express.json()); app.use("/users",userRouter);

app.get("/",(req,res)=>{ res.send("nice working"); });

]

step-2(create config.env file in data folder) [ PORT = 4000 MONGO_URI = mongodb://127.0.0.1:27017 ]

step-3 (create database.js file in data folder) [ import mongoose from "mongoose";

export const connectDB=()=>{ mongoose .connect(process.env.MONGO_URI,{ dbName:"backendapi", }) .then(()=>console.log("Database Connected")) .catch((e)=>console.log(e)); };

]

step-4(create user.js file in model folder == strucure of database || schema of database ) [ import mongoose from "mongoose";

const schema = new mongoose.Schema({ name:String, email:String, password:String, });

export const User = mongoose.model("User",schema); ]

step-5(create server.js file) [ import {app} from "./app.js"; import { connectDB } from "./data/database.js";

connectDB(); app.listen(process.env.PORT,()=>{ console.log("server is working"); }); ]

step-6(create user.js file in router folder == create route) [ import express from "express"; import { User } from "../models/user.js"; import { getAllUsers, getUserDetails, register, specialFunc } from "../controllers/user.js";

const router = express.Router();

router.get("/all",getAllUsers); router.post("/new",register); router.get("/userid/special",specialFunc); router.get("/userid/:id",getUserDetails);

export default router; ]

step-7(create user.js file in controllers folder == function of api ) [ import { User } from "../models/user.js";

export const getAllUsers = async(req,res)=>{

const users = await User.find({});

const keyword = req.query.keyword;
console.log(keyword);
   res.json({
       success:true,
       users,
   });

};

export const register = async(req,res)=>{ const { name, email, password } = req.body;

  await User.create({
    name,
    email,
    password,
 });
    res.status(201).cookie("temp","lol").json({
        success:true,
        message:"Registered successfully",
    });
};

export const specialFunc = (req,res)=>{ res.json({ success:true, message:"just joking", }); };

export const getUserDetails = async(req,res)=>{ const {id} = req.query; const user = await User.findById(id);

res.json({
   success:true,
   user,
});


};

]

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages