মডেল বানাই
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);