Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ School Management System - Odoo 17

A comprehensive School Management System built with Odoo 17 to manage students, teachers, courses, attendance, and grades.

πŸ“‹ Features

Core Modules

  • πŸ“š 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

Key Capabilities

  • 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

πŸ–₯️ Screenshots

Dashboard

Real-time statistics with 8 interactive KPI cards showing students, teachers, courses, attendance, and grade analytics.

Dashboard

Student Management

Comprehensive student information tracking with auto-generated IDs, contact details, and gender-based analytics.

Students

Teacher Management

Teacher profiles with qualifications, subjects, and experience tracking.

Teachers

Course Management

Course organization with teacher assignments and student enrollments displayed in kanban view.

Courses

Attendance Tracking

Daily attendance recording with calendar view and multiple status options (Present, Absent, Late, Excused).

Attendance

Grade Management

Student grades with automatic percentage calculation and pass/fail status determination.

Grades

Reports - Student Analytics

Student analysis with gender-based distribution, graphs, and pivot tables.

Student Report

Reports - Attendance Analytics

Time-series attendance analysis with monthly trends and status breakdowns.

Attendance Report

Reports - Grade Analytics

Grade distribution by course and exam type with average score analysis.

Grade Report

πŸ› οΈ Technology Stack

  • 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

πŸ“¦ Installation

Prerequisites

- Python 3.11+
- PostgreSQL 17+
- Odoo 17.0

Setup Instructions

  1. Clone the repository
git clone https://github.com/youssef509/school-management-oddo-system
cd school-management-odoo
  1. Create virtual environment
python -m venv .venv
.venv\Scripts\activate  # Windows
source .venv/bin/activate  # Linux/Mac
  1. 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
  1. 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;
  1. Create odoo.conf (copy from odoo.conf.example and update paths)

  2. Install the module

python odoo-17/odoo-bin --config=odoo.conf -d school_mgmt -i school_management
  1. Access the application
URL: http://localhost:8069
Database: school_mgmt
Email: admin
Password: admin

πŸ“‚ Module Structure

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

🎯 Demo Data

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

πŸ”’ Security

  • Model-level access control (ir.model.access.csv)
  • User group permissions
  • Field-level tracking with mail.thread
  • Validation constraints on grade scores

πŸ“Š Reports

  1. Student Report - Gender-based analysis with graph/pivot views
  2. Attendance Report - Time-series analysis by month/week
  3. Grade Report - Course and exam type breakdown

πŸš€ Future Enhancements

  • 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

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“ License

This project is licensed under the LGPL-3 License.

πŸ‘¨β€πŸ’» Author

Youssef Ahmed

πŸ™ Acknowledgments

  • 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!

About

A comprehensive School Management System built with Odoo 17 to manage students, teachers, courses, attendance, and grades.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages