A comprehensive School Management System built with Odoo 17 to manage students, teachers, courses, attendance, and grades.
- π Student Management - Track student information with auto-generated IDs (STU###)
- π¨βπ« Teacher Management - Manage teacher profiles with auto-generated IDs (TCH###)
- π Course Management - Create and organize courses with teacher assignments
- π Attendance Tracking - Record daily attendance with calendar view
- π Grade Management - Manage student grades with automatic calculations
- π Dashboard & Reports - Real-time statistics and analytical reports
- Auto-generated unique IDs for students, teachers, and grades
- Automatic grade calculation and status determination
- Real-time dashboard with 8 KPI cards
- Multiple exam types (Quiz, Midterm, Final, Assignment, Project, Practical)
- Attendance status tracking (Present, Absent, Late, Excused)
- Comprehensive reporting with pivot tables and graphs
- Responsive dashboard with Bootstrap cards
Real-time statistics with 8 interactive KPI cards showing students, teachers, courses, attendance, and grade analytics.
Comprehensive student information tracking with auto-generated IDs, contact details, and gender-based analytics.
Teacher profiles with qualifications, subjects, and experience tracking.
Course organization with teacher assignments and student enrollments displayed in kanban view.
Daily attendance recording with calendar view and multiple status options (Present, Absent, Late, Excused).
Student grades with automatic percentage calculation and pass/fail status determination.
Student analysis with gender-based distribution, graphs, and pivot tables.
Time-series attendance analysis with monthly trends and status breakdowns.
Grade distribution by course and exam type with average score analysis.
- Framework: Odoo 17.0
- Language: Python 3.11
- Database: PostgreSQL 17.6
- Frontend: XML/QWeb, Bootstrap, Font Awesome
- ORM: Odoo ORM with computed fields and constraints
- Python 3.11+
- PostgreSQL 17+
- Odoo 17.0- Clone the repository
git clone https://github.com/youssef509/school-management-oddo-system
cd school-management-odoo- Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/Mac- Install Odoo 17
git clone --depth 1 --branch 17.0 https://github.com/odoo/odoo.git odoo-17
pip install -r odoo-17/requirements.txt- Configure PostgreSQL
# Create database user
psql -U postgres
CREATE USER odoo WITH PASSWORD 'odoo';
ALTER USER odoo CREATEDB;
# Create database
CREATE DATABASE school_mgmt OWNER odoo;-
Create odoo.conf (copy from odoo.conf.example and update paths)
-
Install the module
python odoo-17/odoo-bin --config=odoo.conf -d school_mgmt -i school_management- Access the application
URL: http://localhost:8069
Database: school_mgmt
Email: admin
Password: admin
custom_addons/school_management/
βββ models/
β βββ __init__.py
β βββ student.py # Student model with auto-ID
β βββ teacher.py # Teacher model with auto-ID
β βββ course.py # Course model with relationships
β βββ attendance.py # Attendance tracking
β βββ grade.py # Grade management with calculations
β βββ dashboard.py # Dashboard statistics
βββ views/
β βββ student_views.xml # Student UI views
β βββ teacher_views.xml # Teacher UI views
β βββ course_views.xml # Course UI views
β βββ attendance_views.xml # Attendance UI views
β βββ grade_views.xml # Grade UI views
β βββ dashboard_views.xml # Dashboard UI
βββ data/
β βββ sequence.xml # Auto-ID sequences
β βββ dashboard_data.xml # Dashboard initial data
β βββ demo_data.xml # Demo data (20 students, 5 teachers)
βββ security/
β βββ ir.model.access.csv # Access rights
βββ __init__.py
βββ __manifest__.py
The module includes demo data with Arabic names (written in English):
- 20 Students (10 male, 10 female)
- 5 Teachers (2 male, 3 female)
- 6 Courses (Science, English, History, Geography, Computer Science, Art)
- 7 Attendance Records
- 8 Grade Records
- Model-level access control (ir.model.access.csv)
- User group permissions
- Field-level tracking with mail.thread
- Validation constraints on grade scores
- Student Report - Gender-based analysis with graph/pivot views
- Attendance Report - Time-series analysis by month/week
- Grade Report - Course and exam type breakdown
- Parent portal for viewing student progress
- Email notifications for attendance/grades
- Fee management module
- Library management integration
- Timetable/schedule management
- Student portal for viewing grades
- Export reports to PDF/Excel
- SMS integration for alerts
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the LGPL-3 License.
Youssef Ahmed
- GitHub: @youssef509
- LinkedIn: youssefahmed201
- Odoo Community for the amazing framework
- Built as a learning project for Odoo development
β If you find this project useful, please consider giving it a star!








