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 theProfilemodel to categorize users as admins, faculty, or students.- Each
Profilecan be linked to a uniquefaculty_idorstudent_id.
-
Department and Course Management
- Departments are managed by the
Departmentmodel, whileStreamCourseorganizes streams and courses. - Faculty members are assigned to departments and courses through
FacultyCourseAssignment.
- Departments are managed by the
-
Academic Records
RegisteredStudentholds student enrollment details, whileCourseMarksrecords their academic performance with course-specific marks.
-
Financial Management
FeeCollectionandLibraryFineCollectiontrack students' financial transactions, including fee payments and library fines.
-
Library Management
LibraryInventorymanages book stocks,LibraryMemberhandles memberships, andBookIssuedrecords issued books with validations to maintain stock.
-
Certificate Management
CertificateTypedefines available certificates, andCertificateApplicationprocesses student applications.
-
Grievances and Feedback
- Students can submit
Grievancerecords for issue reporting andFeedbackfor course and faculty evaluations.
- Students can submit
This simplified ER diagram illustrates core relationships:
- One-to-Many:
DepartmenttoFaculty,StreamCoursetoFacultyCourseAssignment. - Many-to-Many:
RegisteredStudenttoStreamCoursethrough enrollment,FacultytoStreamCoursethrough 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.
