This repository contains the backend API for a Student Management System built with TypeScript and Node.js using the Express framework.
The aim of this project is to create a basic student management system API with features for both the admin panel and student interface.
-
Endpoints for Admin and Student:
- The API should provide endpoints for both the Admin panel and the Student interface.
-
Admin Panel:
- Admin authentication to log in.
- Ability for the admin to add students with their name, email ID, department, and password.
- Assignment of tasks to students with due times.
-
Student Interface:
- Student authentication using email ID and password.
- View tasks assigned to them.
- Check the status of each task (pending, overdue, completed).
- Option to change task status to completed.
- Admin panel should be accessible only by the admin.
- Students log in using their email ID and password.
- Predefined credentials for admin: Email - admin@admin.com, Password - admin.
- Admins log in using their email ID and password.
-
Authentication:
- Do not use session cookies for authentication.
- Requests and responses should be in JSON format.
-
Documentation:
- Provide proper API documentation.
- Publish API documentation in Postman and share the URL.
-
Environment Variables:
- Include a .env file with necessary variables and values.
-
Sample Examples:
- Include sample examples in the API documentation.
-
Database:
- Use MongoDB Atlas as the database.
-
Technology Stack:
- TypeScript is the preferred language.
- Postman API Documentation: Postman API Documentation
- Sample .env File:
MONGODB_URI=your_mongodb_uri PORT=your_port_number ADMIN_EMAIL=admin@admin.com ADMIN_PASSWORD=admin
- Sample API Request:
POST /admin/login { "email": "student@email.com", "password": "student123" }
- MongoDB Atlas: https://www.mongodb.com/cloud/atlas
- TypeScript: https://www.typescriptlang.org/