Skip to content

Kanishkumar-K/college-management-backend

Repository files navigation

College Management System Backend

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.


Note

Use valid email for student creation.

Features

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.

Models Overview

Model Fields
Faculty faculty_name, email, password, subject
Student first_name, last_name, date_of_birth, gender, blood_group, contact_number, email
Subject name

Note

  1. Protected Routes are enabled
  2. Notfound component can handle wrong routes
  3. JWT token auth
  4. A faculty can teach 1 subject only
  5. A faculty can have many students
  6. A student can enrol many subjects

API Endpoints

Faculty APIs

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.

Student APIs

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.

Miscellaneous APIs

Endpoint Method Description
/subjects/ GET List all subjects.
/student/change-password/ PATCH Change user password.
/create-superuser GET Create a predefined superuser (admin).

Installation and Setup

  1. Clone the repository:
git clone <repository-url>
cd college-management-backend
  1. Install Dependencies
pip install -r requirements.txt
  1. Apply Migrations Run the migrations to set up the database schema:
python manage.py makemigrations
python manage.py migrate
  1. Start the Development Server Start the development server to run the application locally:
python manage.py runserver

Screenshots:

Screenshot 2024-11-20 195306

Screenshot 2024-11-20 195256

Screenshot 2024-11-20 195238

Screenshot 2024-11-20 195324

Screenshot 2024-11-20 195229

About

Backend for college management application using django, django REST and postgres

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published