This project is a web application that provides a student progress card generation and management system. It allows admins to manage roles for admins, teachers, and students. Teachers can perform CRUD operations on student reports, while students have read-only access to their reports. The application utilizes JWT authentication, with users logged out after 1 hour of inactivity, and includes a PDF download feature for each report.
You can view the live application HERE
- Admin:
- Email: admin@gmail.com
- Password: admin123
- Teacher:
- Email: teacher@gmail.com
- Password: teacher123
- Student:
- Email: student@gmail.com
- Password: student123
-
Role Management:
- Admins manage roles for admins, teachers, and students.
- Teachers perform CRUD operations (Create, Read, Update, Delete) on reports for students.
- Students can only view their individual reports.
-
Authentication:
- JWT-based authentication with a 1-hour session expiration.
- Secure login and logout functionality.
-
Student Progress Report:
- Teachers can create detailed reports for each student.
- Students can view their own reports.
-
PDF Conversion:
- Reports can be downloaded as PDFs by clicking the download button.
- Node.js
- MongoDB
- GitHub
- Clone the repository:
git clone https://github.com/codequillskills/Student-Management-and-Progress-Card-Generator.git
- Navigate to the project directory:
cd Student-Management-and-Progress-Card-Generator
- Update the
.env
file with the appropriate configuration details.
- Navigate to the frontend folder:
cd client
- Install dependencies:
npm install
- Start the frontend server:
npm run dev
- Navigate to the backend folder:
cd server
- Install dependencies:
npm install
- Start the backend server:
npm start
- Open your browser and navigate to
http://localhost:5173
to access the application. - Admin users can manage roles and assign permissions to teachers and students.
- Teachers can create, view, update, and delete student reports.
- Students can log in to view their report and download it as a PDF.
- Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
- This project is licensed under the MIT License. See the LICENSE file for details.