Skip to content

martimgil/EduFlow

Repository files navigation

EduFlow - Integrated Educational Management System

Python Flask Microsoft SQL Server

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.


Key Features

Student Portal

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

Professor Portal

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

Staff & Management Portal

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

Technology Stack

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

Database Architecture

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.

Getting Started

1. Prerequisites

  • Python 3.10 or higher.
  • Microsoft SQL Server.
  • ODBC Driver 18 for SQL Server.

2. Database Setup

  1. Execute the SQL scripts located in APFT_124833_124880/sql/ in numeric order (01 to 08).
  2. Configure your connection details in a conf.ini file:
    [database]
    server = YOUR_SERVER
    name = EduFlow
    username = YOUR_USERNAME
    password = YOUR_PASSWORD

3. Application Installation

# Install dependencies
poetry install

# Run the development server
poetry run python app/main.py

Visuals

Student Dashboard Manager Analytics
Student Dashboard Manager Dashboard

Authors

  • Martim Gil (124833) - GitHub
  • Daniel Duque (124880)

Developed for the Database Systems (Fundamentos de Bases de Dados) course @ University of Aveiro.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors