This is a comprehensive MERN stack School Management System built with React, Node.js, Express, and MongoDB.
- Authentication: JWT-based role authentication (Admin, Accountant, Teacher).
- Dashboard: Real-time stats, dynamic charts (Recharts), and modern glassmorphism UI.
- Student Records: CRUD operations, filtering, pagination, and detailed profiles.
- Employee Records: Complete staff management including monthly salary slip generation and tracking.
- Fee Management: Bulk fee generation, individual payment tracking with partial/discount logic, and outstanding dues tracking.
- Challan Printing: Custom layout for 3-part bank fee vouchers using
react-to-print. - Dues & Reports: Financial reporting (Fees vs Salaries), profit/loss calculation, and CSV exports for all major grids.
- Frontend: React (Vite), Tailwind CSS v4, Lucide React (Icons), React Hook Form, Recharts, Axios, React Hot Toast.
- Backend: Node.js, Express.js, Mongoose, JWT, Bcryptjs.
- Database: MongoDB Atlas.
- Navigate to the
/clientdirectory. - Ensure you have the
VITE_API_URLenvironment variable set in your Vercel project settings to point to your live backend URL (e.g.https://your-api.onrender.com/api). - Run
npm run buildto generate the static files. - Set the build command to
npm run buildand output directory todist.
- Navigate to the
/serverdirectory. - Make sure to set the following Environment Variables on your hosting provider:
PORT=5000MONGO_URI=your_mongodb_atlas_connection_stringJWT_SECRET=your_super_secret_keyNODE_ENV=production
- The server starts with
npm start(make sure it's defined inpackage.jsonas"start": "node server.js").
- Admin: The admin account was seeded automatically (
admin@school.com/admin123). - Use the Generate Bulk Fees tool in the Fees page to test the challan generation and outstanding dues.
- Post salaries in the Employees section to populate the Financial Reports.