This is a School Management System built with Django, a high-level Python web framework. This system allows administrators to manage students, classes, subjects, and teachers efficiently.
- Add, edit, and delete students
- Add, edit, and delete classes
- Add, edit, and delete subjects
- Assign teachers to classes and subjects
- Dynamic form handling using AJAX
- Assignments for students
- Remote classes via conference call
- In-app chatting with students
- Staff dashboard for regular duties
- Student dashboard to manage their assignments, classes, lecturers, grades, etc.
- Django 4.2.11
- Python 3.11.9
- jQuery for AJAX
- PostgreSQL (or any other preferred database)
- HTML, CSS, JavaScript
- Python 3.11.9
- PostgreSQL
-
Clone the repository:
git clone https://github.com/Goodnessmbakara/school-management-system.git cd school-management-system/ADVANCE-SMS-IN-DJANGO
-
Create a virtual environment and activate it:
python -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up the database:
- Open
ADVANCE-SMS-IN-DJANGO/settings.py
and configure your database settings.
- Open
-
Run the migrations:
python manage.py migrate
-
Create a superuser to access the admin panel:
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
-
Open your browser and go to
http://127.0.0.1:8000/admin
to log in to the admin panel with your superuser account.
- Go to the admin panel at
http://127.0.0.1:8000/admin
. - Under the "Classes" section, click "Add class".
- Fill out the class details and click "Save".
- Go to the "Add Subject" page.
- Select the class level and class.
- If the class has subclasses, select the appropriate subclass.
- Select the subject teacher and click "Add Subject".
- Go to the admin panel at
http://127.0.0.1:8000/admin
. - Under the "Students" section, click "Add student".
- Fill out the student details and click "Save".
- Teachers can create and assign homework or projects to students.
- Students can view and submit their assignments through their dashboard.
- Integration with a video conferencing service to conduct remote classes.
- Students can join classes directly from their dashboard.
- Secure in-app messaging for communication between students and staff.
- Staff can manage their classes, assignments, and communicate with students.
- Access to their schedules, tasks, and administrative duties.
- View and manage assignments.
- Join remote classes.
- View details of their lecturers.
- Download their grades and academic reports.
school-management-system/
├── ADVANCE-SMS-IN-DJANGO/
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── ...
├── student_management_app/
│ ├── models.py
│ ├── views.py
│ ├── forms.py
│ ├── urls.py
│ ├── templates/
│ │ ├── hod_template/
│ │ │ ├── add_subject_template.html
│ │ │ └── base_template.html
│ │ └── ...
│ └── ...
├── manage.py
└── README.md
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
. - Make your changes and commit them:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature-branch
. - Submit a pull request.
This project is licensed under the MIT License.
For any questions or suggestions, feel free to open an issue or contact the project maintainer.