Developer: Mustadafin Shimanto
Project Status: Portfolio Showcase
Note
This project is a showcase of Live Coding where the entire application was created using AI. The development was conducted using the Antigravity IDE.
A comprehensive, Django-based School Management System (SMS) designed to streamline academic and administrative operations. This system provides a robust platform for managing students, teachers, parents, academic sessions, attendance, fees, exams, and more.
- User Management: Custom user roles for Admin, Teachers, Students, and Parents.
- Academic Management:
- Manage Academic Sessions, Divisions, Classes, and Sections.
- Subject assignments and Class Routines (Schedules).
- Syllabus management and distribution.
- Attendance System: Track daily student attendance by subject and class.
- Fee Management:
- Define fee categories and structures.
- Record and track student fee payments.
- Academic Tools:
- Assignments and Submissions (with grading).
- School Notices and Announcements with role-based targeting.
- Question bank and Exam management (in progress/integrated).
- Dashboard: Role-specific dashboards for at-a-glance information.
- Backend: Django 5.2+
- Database: SQLite (Development) / PostgreSQL (Recommended for Production)
- Frontend: Django Templates, Vanilla CSS, JavaScript
- Dependencies:
django-widget-tweaks,pillow,pandas,openpyxl,reportlab
- Python 3.10+
- pip (Python package manager)
-
Clone the repository:
git clone https://github.com/yourusername/SchoolManagementSystem.git cd SchoolManagementSystem -
Create a virtual environment:
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Environment Variables: Copy the template file and update your secrets:
cp .env.example .env
Edit
.envand set yourSECRET_KEYandDEBUGstatus. -
Run Migrations:
python manage.py migrate
-
Create a Superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py run server
- SECRET_KEY: Never share your
.envfile or commit it to version control. - DEBUG: Ensure
DEBUG=Falsein production environments. - Database: For production, transition from SQLite to a robust database like PostgreSQL.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for better school management.