Skip to content

Latest commit

 

History

History
220 lines (149 loc) · 5.63 KB

File metadata and controls

220 lines (149 loc) · 5.63 KB

🎓 College Management System (CMS)

A full-featured College Management System built using Django, offering a clean, responsive, and efficient interface for Admins (HODs), Staff, and Students. It streamlines the management of students, staff, attendance, leaves, and results with role-based dashboards and secure authentication.


🌟 Highlights

  • ✅ Role-based access for Admins (HODs), Staff, and Students
  • ✅ Manage departments, courses, and academic sessions
  • ✅ Attendance and results management modules
  • ✅ Leave request and approval system
  • ✅ Visual analytics using Chart.js
  • ✅ Secure authentication and CSRF protection
  • ✅ Modern, responsive Bootstrap 5 design
  • ✅ Modular Django structure ready for scaling

🖼️ Screenshots

Below are screenshots of key pages (place your images in screenshots/):

College Login / Registration

Login Page

Member Login / Registration

Login Page

Student Dashboard

Student Dashboard

Student Dashboard

Staff Dashboard

Staff Dashboard

Admin / HOD Dashboard

Admin Dashboard


🚀 Features Overview

👨‍💼 Admin / HOD

  • Manage students, staff, departments, courses, and sessions
  • Approve or reject leave requests from staff and students
  • View detailed analytics and statistics by department
  • Interactive dashboards powered by Chart.js
  • Access attendance records and results
  • Create colleges and assign admins

👩‍🏫 Staff

  • Manage students per semester or course
  • Mark student attendance
  • Add or edit results
  • Apply for leave and track approvals
  • View student lists with interactive previews

🎓 Students

  • View attendance history and subject-wise reports
  • Check results and grades in detailed tabular and chart format
  • Apply for leave and track status
  • Submit feedback to faculty or admin
  • Personalized dashboard with department, semester, and course info

🌐 General

  • Role-based dashboard routing and views
  • College selector and creation option
  • Built-in CSRF protection for all forms
  • Responsive and consistent Bootstrap 5 UI
  • Modular Django app design for clarity and scalability
  • SQLite by default, easy switch to PostgreSQL/MySQL

🧠 Tech Stack

Layer Technology
Frontend HTML, CSS, Bootstrap 5, Chart.js
Backend Django 5.x
Database SQLite (default), PostgreSQL/MySQL supported
Language Python 3.12+
Auth System Django Authentication (Custom User Model)
Template Engine Django Templates

⚙️ Installation & Setup (Development)

1️⃣ Clone the Repository

git clone https://github.com/Ashy-21/CMS.git
cd CMS

2️⃣ Create & Activate Virtual Environment

Windows (PowerShell):

python -m venv venv
venv\Scripts\activate

macOS / Linux:

python -m venv venv
source venv/bin/activate

3️⃣ Install Dependencies

If requirements.txt is provided:

pip install -r requirements.txt

If not:

pip install django==5.2.7

4️⃣ Apply Database Migrations

python manage.py migrate

5️⃣ Create Superuser (Optional)

python manage.py createsuperuser

6️⃣ Run the Server

python manage.py runserver

Visit 👉 http://127.0.0.1:8000/ to start using CMS.


📁 Project Structure

CMS/                             # project root
├─ college/                      # main Django app
│  ├─ templates/college/          # HTML templates (login, dashboard, etc.)
│  ├─ static/college/             # CSS, JS, and images
│  ├─ models.py                   # Core models (Student, Staff, etc.)
│  ├─ views.py                    # Role-based views
│  ├─ forms.py                    # Forms for login, registration, etc.
│  └─ urls.py                     # URL configurations
├─ CMS_proj/                      # Django project folder
│  ├─ settings.py                 # Project settings
│  ├─ urls.py                     # Root URL configuration
│  └─ wsgi.py / asgi.py           # Server entry points
├─ db.sqlite3                     # Default database
├─ requirements.txt               # Dependencies
└─ README.md                      # This file

🧪 Testing

Run tests using Django’s test framework:

python manage.py test

☁️ Deployment Notes

  • Production Ready: Supports PostgreSQL/MySQL for scalability.
  • Static Files: Configure collectstatic for deployment.
  • Security: Set DEBUG=False and configure ALLOWED_HOSTS.
  • Hosting: Compatible with Render, PythonAnywhere, or any WSGI-compatible host.

🧑‍💻 Contributing

  1. Fork the repository
  2. Create a branch: git checkout -b feature/your-feature
  3. Commit changes and push: git push origin feature/your-feature
  4. Open a Pull Request

📝 License

This project is released under the MIT License. See LICENSE for more details.


📬 Contact

For guidance, customization, or integration support, feel free to reach out. 💬 *Built with ❤️ for colleges to manage academics se