Student Management System Created Using Django

This is a Simple Student Management System Developed While Learning Django. Feel free to make changes based on your requirements.

Front-end Template

Project Demo on YouTube

And if you like this project, then ADD a STAR ⭐️ to this project 👆

Deployed to

https://smswithdjango.herokuapp.com/

Features of this Project

A. Admin Users Can

  1. See Overall Summary Charts of Students Performances, Staff Performances, Courses, Subjects, Leave, etc.
  2. Manage Staff (Add, Update and Delete)
  3. Manage Students (Add, Update and Delete)
  4. Manage Course (Add, Update and Delete)
  5. Manage Subjects (Add, Update and Delete)
  6. Manage Sessions (Add, Update and Delete)
  7. View Student Attendance
  8. Review and Reply Student/Staff Feedback
  9. Review (Approve/Reject) Student/Staff Leave

B. Staff/Teachers Can

  1. See the Overall Summary Charts related to their students, their subjects, leave status, etc.
  2. Take/Update Students Attendance
  3. Add/Update Result
  4. Apply for Leave
  5. Send Feedback to HOD

C. Students Can

  1. See the Overall Summary Charts related to their attendance, their subjects, leave status, etc.
  2. View Attendance
  3. View Result
  4. Apply for Leave
  5. Send Feedback to HOD

📸 ScreenShots

Admin Staff Student

Support Developer

  1. Add a Star 🌟 to this 👆 Repository
  2. Follow on Twitter/Github

Passport/Images

Images are from Unsplash

How to Install and Run this project?

Pre-Requisites:

  1. Install Git Version Control [ https://git-scm.com/ ]

  2. Install Python Latest Version [ https://www.python.org/downloads/ ]

  3. Install Pip (Package Manager) [ https://pip.pypa.io/en/stable/installing/ ]

Alternative to Pip is Homebrew

Installation

1. Create a Folder where you want to save the project

2. Create a Virtual Environment and Activate

Install Virtual Environment First

$  pip install virtualenv

Create Virtual Environment

For Windows

$  python -m venv venv

For Mac

$  python3 -m venv venv

For Linux

$  virtualenv .

Activate Virtual Environment

For Windows

$  source venv/scripts/activate

For Mac

$  source venv/bin/activate

For Linux

$  source bin/activate

3. Clone this project

$  git clone https://github.com/jobic10/student-management-using-django.git

Then, Enter the project

$  cd student-management-using-django

4. Install Requirements from 'requirements.txt'

$  pip3 install -r requirements.txt

5. Add the hosts

  • Got to settings.py file
  • Then, On allowed hosts, Use [] as your host.
ALLOWED_HOSTS = []

Do not use the fault allowed settings in this repo. It has security risk!

6. Now Run Server

Command for PC:

$ python manage.py runserver

Command for Mac:

$ python3 manage.py runserver

Command for Linux:

$ python3 manage.py runserver

7. Login Credentials

Create Super User (HOD) Command for PC:

$  python manage.py createsuperuser

Command for Mac:

$  python3 manage.py createsuperuser

Command for Linux:

$  python3 manage.py createsuperuser

Then Add Email and Password

or Use Default Credentials

For HOD /SuperAdmin Email: admin@admin.com Password: admin

For Staff Email: staff@staff.com Password: staff

For Student Email: student@student.com Password: student

For Sponsor or Projects Enquiry

  1. Email - jobowonubi@gmail.com
  2. LinkedIn - jobic10
  3. Twitter - jobic10

Project's Journey

  • Admin/Staff/Student Login
  • Add and Edit Course
  • Add and Edit Staff
  • Add and Edit Student
  • Add and Edit Subject
  • Upload Staff's Picture
  • Upload Student's Picture
  • Sidebar Active Status
  • Named URLs
  • Model Forms for adding student
  • Model Forms for all
  • Views Permission (MiddleWareMixin)
  • Attendance and Update Attendance
  • Password Reset Via Email
  • Apply For Leave
  • Students Can Check Attendance
  • Check Email Availability
  • Reply to Leave Applications
  • Reply to Feedback
  • Admin View Attendance
  • Password Change for Admin, Staff and Students using set_password()
  • Admin Profile Edit
  • Staff Profile Edit
  • Student Profile Edit
  • Student Dashboard Fixed
  • Passing Page Title From View - Improved
  • Staff Dashboard Fixed
  • Admin Dashboard Fixed
  • Firebase Web Push Notifications
  • Staff Add Student's Result
  • Staff Edit Result Using CBVs (Class Based Views)
  • Google CAPTCHA
  • Student View Result
  • Change all links to be dynamic
  • Code Restructure - Very Important

Questions I asked While Developing This

Helpful Links