Transform your school’s daily operations into a dynamic, growth‐focused environment.
Easily organize classes, enroll students and faculty, and monitor progress in real time.
Utilize continuous attendance tracking, performance assessments, and timely feedback to drive improvement.
Access detailed records, review marks, and foster open communication to empower every learner.
LIVE LINK: https://school-management-system-hazel-eta.vercel.app
BACKEND: https://edu-365.vercel.app
VIDEO PRESENTATION: https://drive.google.com/file/d/1eh5Lf0SXdkLZWKr_I-B0aeFZnnZoh4e7/view?usp=drive_link
Name: Sample Admin
Email: sampleadmin@gmail.com
School: PLP SCHOOL
password: 123
email: teacher4@gmail.com
password: 12345
Student Roll No: 1
student name: DANIEL MUSYOKI
password: 12345
NOTICE: MAY TAKE SOME TIME WHEN YOU TRY TO REGISTER OR LOG IN
The School Management System is a cutting-edge, web-based application built on the powerful MERN (MongoDB, Express.js, React.js, Node.js) stack. Engineered for maximum efficiency, it revolutionizes school administration by:
-
Centralizing and Automating Administrative Tasks:
Manage student and teacher enrollment, class creation, and scheduling from one unified dashboard. -
Streamlining Class Organization:
Easily create and manage classes and subjects, ensuring smooth day-to-day operations. -
Facilitating Real-Time Communication:
Enable seamless, role-based communication among administrators, teachers, and students.
Leveraging the MERN architecture, my system delivers:
-
Unparalleled Scalability & Performance:
- Lightning-fast data retrieval using a database-driven approach
- Seamless scalability to accommodate growing institutional needs
- Optimized for handling large volumes of concurrent users and data
-
Intuitive User Experience:
- Responsive React.js frontend with sleek, user-friendly dashboards tailored for Admin, Teacher, and Student roles
- Intuitive navigation and minimal learning curve for all users
-
Robust Back-End Integration:
- Node.js and Express.js powering efficient server-side operations
- MongoDB’s flexible, document-based storage adapts to diverse data structures
- Real-time data synchronization for up-to-the-minute information
-
Enhanced Security:
- Role-based access control to protect sensitive information
- Encrypted data transmission and storage
- Regular security updates to safeguard against potential vulnerabilities
-
Comprehensive Analytics:
- Built-in reporting tools for administrators and teachers
- Interactive data visualization features (charts, tables) to track student performance trends
- Actionable insights to drive continuous improvement in educational outcomes
-
Centralized Administration:
Automate and manage critical tasks like student and teacher enrollment, class creation, and scheduling—all from a single dashboard. -
Role-Based Dashboards:
Provide tailored, intuitive interfaces for administrators, teachers, and students(PARENTS), ensuring each group accesses the features they need. -
Real-Time Attendance Tracking:
Enable teachers to quickly mark attendance, generate reports, and monitor trends to help identify and address absenteeism. -
Performance Assessments:
Allow teachers to record marks, provide detailed feedback, and track students’ academic progress over time using interactive charts and reports. -
Effective Communication:
Facilitate real-time messaging and notifications between students, teachers, and administrators to foster collaboration and engagement. -
Data Visualization & Analytics:
Offer built-in reporting tools and data visualization features that help monitor academic performance and attendance, enabling data-driven decision-making. -
Robust Security Measures:
Protect sensitive information with role-based access control and encrypted data transmission and storage. -
Scalability & Performance:
Leverage the MERN stack to support rapid data retrieval and scalability, ensuring the system grows with your institution while maintaining high performance. -
Seamless Deployment & Maintenance:
Clear installation and error-resolution guidelines simplify setup locally and deployment to production environments using services like Render and Netlify.
In essence, our School Management System empowers schools to streamline administrative processes, enhance educational outcomes, and create a connected, growth-focused environment where every stakeholder has the tools they need for success.
-
User Roles:
The system supports three user roles: Admin, Teacher, and Student(PARENTS). Each role has specific functionalities and access levels. -
Admin Dashboard:
Administrators can add new students and teachers, create classes and subjects, manage user accounts, and oversee system settings. -
Attendance Tracking:
Teachers can easily take attendance for their classes, mark students as present or absent, and generate attendance reports. -
Performance Assessment:
Teachers can assess students' performance by providing marks and feedback. Students can view their marks and track their progress over time. -
Data Visualization:
Students and teachers can visualize performance data through interactive charts and tables for an at-a-glance understanding. -
Communication:
Facilitate effective communication via in-system messaging and notifications among students, teachers, and administrators.
- Frontend: React.js, Material UI, Redux
- Backend: Node.js, Express.js
- Database: MongoDB
Clone the repository:
git clone https://github.com/daniel-ndeto/school-management-system.git
### Setup Backend
1. Open a terminal and navigate to the `backend` folder:
cd backend
npm install
npm start
- Create a
.env
file in thebackend
folder and add:(Replace with your MongoDB Atlas link if necessary.)MONGO_URL = mongodb://127.0.0.1/school
- Open another terminal and navigate to the
frontend
folder:cd frontend npm install npm start
- Open your browser and navigate to
localhost:3000
for the frontend.
The backend API will run atlocalhost:5000
.
If you encounter a sign-up error (e.g., a network error or endless loading):
-
Frontend Environment Variables:
- Navigate to
frontend/.env
and uncomment the first line. - Restart the frontend server:
cd frontend npm start
- Navigate to
-
Update Base URL in Code:
- In
frontend/src/redux/userRelated/userHandle.js
, add after the import statements:const REACT_APP_BASE_URL = "http://localhost:5000";
- Replace all instances of
process.env.REACT_APP_BASE_URL
withREACT_APP_BASE_URL
in files containing "Handle" in their names (e.g., inteacherRelated
and other related folders).
- In
-
Account Setup:
- Sign up first rather than logging in as a guest.
- For guest mode, use credentials from an existing account in the system as specified in
LoginPage.js
.
- Backend: Deployed using Render for server-side operations.
- Frontend: Deployed using Netlify for client-side hosting.