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.
- π Overview
- π± User App (Mobile)
- π₯οΈ Admin App (Web)
- ποΈ Backend Setup
- π API Endpoints
- π οΈ Technologies
- π¦ Installation
- π€ Contributing
- π License
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.
- 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
- Node.js
- Expo CLI
- Mobile device with Expo Go or emulator
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