This Django-based project is a comprehensive system designed for managing various entities and workflows within a college. It integrates academic, financial, library, and administrative functions to streamline operations for students, faculty, and administrators.
The College Management System (CMS) manages users (students, faculty, and admins), courses, departments, news, media galleries, certificates, grievances, feedback, financial records, and library resources. Each feature is represented by a model that defines relationships between entities and provides essential validations and constraints to maintain data integrity.
The Entity-Relationship (ER) diagram for this project illustrates the relationships between key entities in the system.
Key Entities and Relationships:
-
User Management
User
(Django's built-in model) is extended through theProfile
model to categorize users as admins, faculty, or students.- Each
Profile
can be linked to a uniquefaculty_id
orstudent_id
.
-
Department and Course Management
- Departments are managed by the
Department
model, whileStreamCourse
organizes streams and courses. - Faculty members are assigned to departments and courses through
FacultyCourseAssignment
.
- Departments are managed by the
-
Academic Records
RegisteredStudent
holds student enrollment details, whileCourseMarks
records their academic performance with course-specific marks.
-
Financial Management
FeeCollection
andLibraryFineCollection
track students' financial transactions, including fee payments and library fines.
-
Library Management
LibraryInventory
manages book stocks,LibraryMember
handles memberships, andBookIssued
records issued books with validations to maintain stock.
-
Certificate Management
CertificateType
defines available certificates, andCertificateApplication
processes student applications.
-
Grievances and Feedback
- Students can submit
Grievance
records for issue reporting andFeedback
for course and faculty evaluations.
- Students can submit
This simplified ER diagram illustrates core relationships:
- One-to-Many:
Department
toFaculty
,StreamCourse
toFacultyCourseAssignment
. - Many-to-Many:
RegisteredStudent
toStreamCourse
through enrollment,Faculty
toStreamCourse
through course assignments.
- User Management: Custom user roles (admin, faculty, student) with personalized views and permissions.
- Department and Faculty Management: Department creation and faculty assignments.
- Course Enrollment and Student Records: Handles student registrations and enrollments with details on admission dates and fee statuses.
- Academic Tracking: Course marks are validated by faculty assignments to ensure data accuracy.
- Financial Records: Tracks student fee payments and fines for efficient financial management.
- Library System: Comprehensive inventory and issue-return tracking with fine management.
- Certificate Applications: Facilitates certificate requests and manages approval and issuance dates.
- Grievance and Feedback Handling: Collects and manages student feedback and grievances to ensure issue tracking and resolution.
- Clone the repository:
git clone https://github.com/Astha-Pathak/Student_management.git
- Navigate to the project directory:
cd dbmserp
- Run migrations to set up the database:
python manage.py migrate
- Start the development server:
python manage.py runserver
- Admin Dashboard: For managing departments, users, and academic records.
- Faculty Portal: Manages courses, grading, and student feedback.
- Student Portal: Provides access to enrollment, academic records, and certificate applications.
Contributions to enhance the system are welcome. Please submit a pull request or open an issue for any suggestions or bug reports.
This project is open-source and available under the MIT License.