Closed karan-aithal closed 1 month ago
Project Build Configuration
buzvis-app/
├── CMakeLists.txt |
---|
├── src/ # Source Code Directory │ ├── main.cpp # Main Application Entry | │ ├── app/ # Core Application Logic │ │ ├── BuzvisApp.h # Header for Main Application Class │ │ └── BuzvisApp.cpp # Main Application Class Implementation |
---|
│ ├── modules/ # Feature Modules (Task, Calendar, Communication, etc.) │ │ ├── CalendarManager.h │ │ ├── CalendarManager.cpp │ │ ├── TaskManager.h │ │ ├── TaskManager.cpp │ │ ├── CommunicationHandler.h │ │ ├── CommunicationHandler.cpp | │ ├── utils/ # Utility Classes (Singletons, Helpers, etc.) │ │ ├── Singleton.h |
---|
│ ├── ui/ # UI Files and Resources (Qt Designer files) │ │ ├── mainwindow.ui # Main UI Design (XML) │ │ ├── mainwindow.h │ │ ├── mainwindow.cpp | ├── include/ # Header Files Directory │ ├── BuzvisApp.h │ ├── CalendarManager.h │ ├── TaskManager.h │ ├── CommunicationHandler.h |
---|
└── resources/ # Images, Icons, etc. ├── icons/ └── images/
Boiler Plate with Qt C++ and PyQt5 with MVC Structure and Design Patterns --
Architecture:
Model-View-Controller (MVC)
for separating data (model), user interface (view), and logic (controller).
Singleton Pattern for global classes like TaskScheduler, CalendarManager, and FileMonitor to ensure that only one instance of these exists throughout the application.
Observer Pattern for real-time updates (notifications, file monitoring, etc.).
Factory Pattern for creating various communication handlers (email, SMS, Slack) to simplify integration with external services.