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 runserverScreenshots:




