About This Project

This project is a Flask web application designed to help teachers manage and visualize their weekly teaching schedule. It connects to a live MySQL database and provides a powerful, interactive web interface.

Main Features

  • Tree View Layout: Weekly schedule displayed by days and lessons in a clean grid.
  • Right-Click Context Menu: Edit, duplicate, delete, or toggle payment status on any lesson with a custom JavaScript-powered right-click menu.
  • Interactive Sidebar: Consistent side menu across all pages for easy navigation (extends from base.html).
  • Dynamic JavaScript:
    • Click to select lessons (turns red when selected).
    • Multi-select and perform batch operations like copy, delete, or mark paid/unpaid.
    • Dynamic dropdowns that reveal extra fields like a date picker for copy operations.
  • Backend Logic:
    • Processes user-selected lessons using Flask and SQL queries.
    • Redirects after POST requests to ensure updated data is always shown.
    • Accurate time, rate, and salary calculations (with formatted display).
  • Database Integration:
    • MySQL backend for storing class schedules, rates, paid status, and more.
    • Dynamic queries that handle date ranges, class types, and calculations.

    Note: This project was built as a learning platform and portfolio project, combining backend Flask logic, frontend dynamic interaction with JavaScript, and MySQL integration.

    🚀 Thanks for exploring this app!