To visualize the system's operation, the following screenshots located in the imgs/ directory are attached:
- Modular and Scalable Architecture: Clean separation of concerns using specific components for models, routing (Blueprints), and database utilities.
- Real-Time Monitoring: Dynamic frontend featuring a continuous clock update and an asynchronous polling mechanism via native JavaScript.
- Resource Efficiency and Minimal Impact: Designed under a strict optimization standard. The application has been developed and validated on hardware environments with baseline specs (2nd generation Intel Core i3 processors), ensuring minimal CPU and RAM consumption, which allows its deployment on virtually any functional computer.
- Notification Compatibility: The system is optimized for desktop environments on Linux operating systems (utilizing the native
zenitytool). Additionally, the logic is easily portable or adaptable to Windows systems using native operating system messaging libraries within the routing script.
- Runtime Environment: Python 3.11.
- Operating System: Linux distributions (native support for
zenity) or MS Windows operating systems (requires adapting the backend to use native Windows alerts). - Environment Manager: Conda / Miniconda for package isolation.
The backend libraries are self-managed through the requirements.txt file:
- Flask (v3.0.3): Main framework for HTTP routing and the development WSGI server.
- Flask-SQLAlchemy (v3.1.1): Extension for simplified ORM integration with the Flask application.
- SQLAlchemy (v2.0.31): ORM engine for SQL query abstraction and execution.
The project is designed under a modular structure that facilitates code maintainability:
├── app.py # Central Flask server configuration, environment variable initialization, and extension instantiation.
├── index.py # Main entry point. Declares the application context, ensures schema existence, and exposes the server.
├── requirements.txt # Manifest of strict Python dependencies required for safe execution of the environment.
├── .gitignore # Optimized file filter to exclude Python caches, Conda directories, and Spyder/VS Code metadata.
├── imgs/ # Directory for graphic assets and screenshots for repository documentation.
│ ├── app.png
│ └── message_app.png
├── models/
│ ├── __init__.py # Initializer for the system models package.
│ └── reminder.py # Definition of the 'Reminder' data model and its ORM mapping via Flask-SQLAlchemy.
├── routes/
│ ├── __init__.py # Initializer for the routing package.
│ └── message.py # Blueprint encapsulating the REST API and business logic for alert validation and execution.
├── static/
│ ├── css/
│ │ └── style.css # Global style files and visual layout for the user interface.
│ └── js/
│ └── app.js # Vanilla JavaScript logic for the client-side clock and asynchronous background polling to the backend.
├── templates/
│ └── index.html # Base HTML5 template and single-page application (SPA) view for visual management of the app.
└── utils/
└── db.py # Initialization and abstraction of the SQL database engine connection instance.

