Skip to content

mahmoudBH/Student-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Management System

A complete platform that allows students and administrators to manage academic information efficiently.
The system is composed of:

  • πŸ“± User Mobile App (React Native – Expo)
  • πŸ–₯️ Admin Web App (React.js)
  • πŸ—„οΈ Backend API (Node.js + MySQL)

Both applications share the same database and provide real-time synchronization for grades, courses, messages, and profile management.


πŸ“Œ Table of Contents


πŸš€ Overview

The Student Management System simplifies academic management through:

βœ” Viewing and managing grades, courses, and profiles
βœ” Integrated notifications for new updates
βœ” Secure authentication system
βœ” Document download (PDF courses)
βœ” Bi-directional messaging between students and admins

The system ensures smooth communication between students and administrators.


πŸ“± User App (Mobile)

🎯 Features

  • View personal grades
  • View courses and download course materials (PDF, docs…)
  • Receive push notifications when a new grade or course is added
  • Contact Admin via integrated messaging
  • Update profile information
  • Change password
  • Upload and display profile photo

πŸ› οΈ Installation (User App)

Requirements

  • Node.js
  • Expo CLI
  • Mobile device with Expo Go or emulator

Steps

bash git clone https://github.com/mahmoudBH/student-management-system.git cd student-management-system/user-app

npm install expo start Scan the QR code using the Expo Go app.

πŸ–₯️ Admin App (Web) 🎯 Features Manage students, grades, and courses

Add / update / delete courses and grades

Upload and view profile photo (admin)

Manage user accounts (CRUD)

Read messages sent by students

Dashboard for viewing all academic data

πŸ› οΈ Installation (Admin App) Requirements Node.js

Modern browser (Chrome, Firefox…)

Steps bash Copier le code git clone https://github.com/mahmoudBH/student-management-system.git cd student-management-system/admin-app

npm install npm start The app will run at: πŸ‘‰ http://localhost:3000

πŸ—„οΈ Backend Setup Requirements Node.js

MySQL

Steps bash Copier le code git clone https://github.com/mahmoudBH/student-management-system.git cd student-management-system/backend

npm install 1️⃣ Create the database Import the provided SQL schema into MySQL.

2️⃣ Configure environment variables Create .env file:

ini Copier le code DB_HOST=localhost DB_USER=root DB_PASSWORD=your_password DB_NAME=gestion_etudiant JWT_SECRET=your_secret_key 3️⃣ Start the backend server bash Copier le code npm start Backend runs on:

User API β†’ http://localhost:4000

Admin API β†’ http://localhost:5000

πŸ”Œ API Endpoints User App Profile:

Get profile

Update profile

Change Password

Grades & Courses (view assigned content)

Notifications

Download Course

Contact Admin (send message)

Admin App Add / Edit / Delete courses

Add / Edit / Delete grades

Manage user accounts (students & admins)

Upload profile photo

Read messages sent by students

πŸ› οΈ Technologies Backend Node.js

Express

MySQL

JWT

Multer

Mobile React Native (Expo)

Axios

React Navigation

Web React.js

Axios

Context API / Hooks

πŸ“¦ Installation Summary Part Tech Start Command Backend Node.js npm start User Mobile App React Native (Expo) expo start Admin Web App React.js npm start

🀝 Contributing Feel free to fork the repository and submit pull requests with improvements. Please follow coding best practices and include proper documentation.

πŸ“„ License This project is licensed under the MIT License.

Β© 2025 Mahmoud Bousbih

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors