/MERN-School-Management-System

MERN stack app. Streamline school management, class organization, and add students and faculty. Seamlessly track attendance, assess performance, and provide feedback. Access records, view marks, and communicate effortlessly.

Primary LanguageJavaScript

SCHOOL MANAGEMENT SYSTEM

Streamline school management, class organization, and add students and faculty.
Seamlessly track attendance, assess performance, and provide feedback.
Access records, view marks, and communicate effortlessly.


Youtube Video

LinkedIn

About

The School Management System is a web-based application built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. It aims to streamline school management, class organization, and facilitate communication between students, teachers, and administrators.

Features

  • User Roles: The system supports three user roles: Admin, Teacher, and Student. 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 can visualize their performance data through interactive charts and tables, helping them understand their academic performance at a glance.

  • Communication: Users can communicate effortlessly through the system. Teachers can send messages to students and vice versa, promoting effective communication and collaboration.

Technologies Used

  • Frontend: React.js, Material UI, Redux
  • Backend: Node.js, Express.js
  • Database: MongoDB

Installation

git clone https://github.com/Yogndrr/MERN-School-Management-System.git

Open 2 terminals in separate windows/tabs.

Terminal 1: Setting Up Backend

cd backend
npm install
npm start

Create a file called .env in the backend folder. Inside it write this :

MONGO_URL = mongodb://127.0.0.1/school

Instead of this link write your database link.

Terminal 2: Setting Up Frontend

cd frontend
npm install
npm start

Now, navigate to localhost:3000 in your browser. The Backend API will be running at localhost:5000.

If this is not working then go to the src > redux > userRelated > userHandle.js

Write this after the import statements :

const REACT_APP_BASE_URL = "http://localhost:5000"

Now replace all process.env.REACT_APP_BASE_URL with REACT_APP_BASE_URL.

The problem here was that the .env file in the frontend was not working for other users while it works for me. So you have to do this in the frontend. After this the project will run smoothly if not then you can contact me.


Deployment

  • Render - server side
  • Netlify - client side