This project is a backend implementation for a College Management System using Django REST Framework (DRF). It supports role-based access for faculties and students, allowing efficient management of user data, authentication, and subjects.
Use valid email for student creation.
Feature | Description |
---|---|
Faculty Login | Faculty can log in using email and password to access the system. |
Student Management | Faculty can create, view, update, and assign students. |
Student Login | Students can log in using email and password to manage their profiles. |
Subjects Management | Students can enroll in subjects; faculty can manage subject. |
Password Management | Students can change passwords securely. |
Role-based Access | Access control enforced for faculty and student actions via custom JWT authentication. |
Model | Fields |
---|---|
Faculty | faculty_name , email , password , subject |
Student | first_name , last_name , date_of_birth , gender , blood_group , contact_number , email |
Subject | name |
- Protected Routes are enabled
- Notfound component can handle wrong routes
- JWT token auth
- A faculty can teach 1 subject only
- A faculty can have many students
- A student can enrol many subjects
Endpoint | Method | Description |
---|---|---|
/faculty/login |
POST | Login for faculty members. |
/students/ |
GET | View all students. |
/student/create |
POST | Create a new student record. |
student/update/<int:student_id>/ |
PUT | Update student details by ID. |
assign-student/<int:student_id>/ |
POST | Assign a student to a faculty. |
Endpoint | Method | Description |
---|---|---|
/student/login |
POST | Login for students. |
/student/details/ |
GET | View logged-in student details. |
/student/edit/ |
PUT | Edit student profile. |
/enroll-in-subject/ |
POST | Enroll in subjects. |
Endpoint | Method | Description |
---|---|---|
/subjects/ |
GET | List all subjects. |
/student/change-password/ |
PATCH | Change user password. |
/create-superuser |
GET | Create a predefined superuser (admin). |
- Clone the repository:
git clone <repository-url>
cd college-management-backend
- Install Dependencies
pip install -r requirements.txt
- Apply Migrations Run the migrations to set up the database schema:
python manage.py makemigrations
python manage.py migrate
- Start the Development Server Start the development server to run the application locally:
python manage.py runserver
Screenshots: