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.
base.html
).- 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.
- 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).
- 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!