# ModularApp A modular C++17 software project demonstrating clean module separation, CMake build system, and Doxygen-style API documentation. ## Features - **Logger Module** — Hierarchical log output (DEBUG / INFO / WARN / ERROR) - **ConfigManager Module** — Parse and manage key=value configuration files - **DataManager Module** — In-memory data caching and lifecycle management - **Utils Module** — String trimming, splitting, time formatting, file path helpers - **Processor Module** — Core business logic processing with dependency injection - **Adapter Module** — CLI argument parsing (--config, --help, --version) ## Build & Run ```bash # Configure cmake -B build -DCMAKE_BUILD_TYPE=Release # Build cmake --build build # Run with a config file ./build/ModularApp --config example.conf # Show help ./build/ModularApp --help # Show version ./build/ModularApp --version # Run tests ./build/ModularApp_test ``` ## Project Structure ``` . ├── CMakeLists.txt ├── README.md ├── include/ │ ├── app.hpp # Master header (includes all modules) │ ├── logger.hpp │ ├── configmanager.hpp │ ├── datamanager.hpp │ ├── utils.hpp │ ├── processor.hpp │ └── adapter.hpp ├── src/ │ ├── logger.cpp │ ├── configmanager.cpp │ ├── datamanager.cpp │ ├── utils.cpp │ ├── processor.cpp │ ├── adapter.cpp │ └── main.cpp └── tests/ └── basic_test.cpp ```