Logo Lanfrica

Abdalle13/school-management-system

Domaine:

education

Type de record:

software
Créateur:
Abd
Hôte:
School management system for Somali private schools. A public school site plus admin, teacher, parent and student portals, with attendance, report cards, and term fees paid in installments. # School Management System A web app for Somali private schools and madrasas that currently run on paper. It has two parts: 1. A **public school website** anyone can visit (Home, About, Academics, Admissions, News, Contact). 2. A **portal** behind login, with a dashboard per role: Admin, Teacher, Parent, Student. Built by Abdalle Hussein as a portfolio project. MERN stack, deployed on Vercel as two projects (frontend and a serverless backend). ## Accounts and login There is no public sign up. The admin creates every account (teachers, parents, students) and sets the password. On first login the user is asked to change it once. Teachers and parents log in with their email, students log in with their admission number. Forgot and reset password by email still work for accounts that have an email. ## Modules Students and enrolment, classes and sections, subjects, staff and teaching assignments, the three-term year, daily attendance, exams and computed report cards, term fees with installment plans ("qaybo"), weekly timetable, announcements and notifications, admission applications from the public site, a contact form, school settings, and reporting endpoints. ## Tech stack | Layer | Tools | | :--- | :--- | | Frontend | React 19, Vite, Redux Toolkit, React Router 7, Tailwind CSS v4, Framer Motion, Recharts, lucide-react, react-hot-toast | | Backend | Node.js, Express 5, Mongoose 9, jsonwebtoken, bcryptjs, helmet, cors, express-rate-limit, multer, imagekit, nodemailer, colors | | PDF | jspdf + jspdf-autotable (report cards and fee receipts) | | Database | MongoDB Atlas | | Images | ImageKit.io | | Deployment | Vercel | ## Repo layout ``` backend/ Express 5 + Mongoose 9 api, exported for Vercel serverless frontend/ Vite + React 19 single page app ``` ## Running locally Backend: ``` cd backend cp .env.example .env # then fill in the values npm install npm run data:import # create the first admin from the ADMIN_ vars in .env npm run dev …

Languages