MERN

⌘K
  1. Home
  2. Docs
  3. MERN
  4. Student Crud

Student Crud

মডেল বানাই

models/student.js

const { DataTypes } = require('sequelize');
const sequelize = require('../config/db');

const Student = sequelize.define('Student', {
  name: {
    type: DataTypes.STRING,
    allowNull: false,
  },
  age: {
    type: DataTypes.INTEGER,
    allowNull: false,
  },
});

module.exports = Student;

Controllers বানাই

controllers/studentController.js

const Student = require('../models/student');

// Get all students
exports.getAllStudents = async (req, res) => {
  try {
    const students = await Student.findAll();
    res.json(students);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
};

// Create a new student
exports.createStudent = async (req, res) => {
  try {
    const { name, age } = req.body;
    const student = await Student.create({ name, age });
    res.json({ student, message: 'Student created successfully' });
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
};

// Update a student
exports.updateStudent = async (req, res) => {
  try {
    const { id } = req.params;
    const { name, age } = req.body;
    const student = await Student.findByPk(id);

    if (!student) {
      return res.status(404).json({ message: 'Student not found' });
    }

    student.name = name;
    student.age = age;
    await student.save();

    res.json({ student, message: 'Student updated successfully' });
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
};

// Delete a student
exports.deleteStudent = async (req, res) => {
  try {
    const { id } = req.params;
    const student = await Student.findByPk(id);

    if (!student) {
      return res.status(404).json({ message: 'Student not found' });
    }

    await student.destroy();
    res.json({ message: 'Student deleted successfully' });
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
};

Routes বানাই

routes/studentRoutes.js

const express = require('express');
const studentController = require('../controllers/studentController');
const { authenticateJWT } = require('../middleware/authMiddleware');

const router = express.Router();

// Use the authentication middleware for all student routes
router.use(authenticateJWT);

router.get('/', studentController.getAllStudents);
router.post('/', studentController.createStudent);
router.put('/:id', studentController.updateStudent);
router.delete('/:id', studentController.deleteStudent);

module.exports = router;

index.js

const studentRoutes = require('./routes/studentRoutes');

app.use('/api/students', studentRoutes);

How can we help?