EduFlow is a comprehensive educational management platform designed to centralize and streamline administrative and academic processes within an educational institution. Developed as a final project for Database Systems (APFT), it bridges the gap between students, professors, staff, and management through a robust relational database.
- Academic Path: View grades, transcripts, and ECTS progress.
- Enrollment: Real-time registration in disciplines and classes with capacity checks.
- Attendance: Consult class summaries and submit justifications for absences.
- Financial: Track tuition payments and history.
- Schedule: Dynamic timetable for the current semester and week.
- Academic Management: Resource for class lists, attendance recording, and grading.
- Justifications: Review and approve/reject student absence justifications.
- Statistics: View performance metrics and workload analytics.
- Timetable: Access personalized teaching schedules.
- Full CRUD: Manage all entities (Students, Professors, Staff, Courses, Classes, Rooms).
- Financial Control: Generate late-payment reports and register new payments.
- Security: Manage user permissions and roles.
- Dashboard: Real-time global statistics on institutional health and occupation.
| Layer | Technology |
|---|---|
| Backend | Python 3.10+ / Flask |
| Database | Microsoft SQL Server (T-SQL) |
| Database Driver | PyODBC |
| Frontend | Vanilla HTML5, CSS3, JavaScript, Tailwind CSS, DaisyUI, Chart.js |
| Dependency Mgmt | Poetry |
The core of EduFlow lies in its sophisticated SQL implementation, ensuring data integrity and business logic consistency:
- Relational Model: Fully normalized (up to BCNF) to minimize redundancy.
- Programming Features:
- Stored Procedures: Over 100 procedures handling complex business logic.
- Triggers: Automated validation for room capacity, schedule conflicts, and academic rules.
- User-Defined Functions (UDFs): Complex calculations like weighted averages and ECTS tracking.
- Views: Consolidated reports for workload, financial summaries, and student performance.
- Python 3.10 or higher.
- Microsoft SQL Server.
- ODBC Driver 18 for SQL Server.
- Execute the SQL scripts located in
APFT_124833_124880/sql/in numeric order (01 to 08). - Configure your connection details in a
conf.inifile:[database] server = YOUR_SERVER name = EduFlow username = YOUR_USERNAME password = YOUR_PASSWORD
# Install dependencies
poetry install
# Run the development server
poetry run python app/main.py| Student Dashboard | Manager Analytics |
|---|---|
![]() |
![]() |
- Martim Gil (124833) - GitHub
- Daniel Duque (124880)
Developed for the Database Systems (Fundamentos de Bases de Dados) course @ University of Aveiro.

