|
|
||
|---|---|---|
| include | ||
| src | ||
| tests | ||
| .gitignore | ||
| CMakeLists.txt | ||
| README.md | ||
| events.ndjson | ||
| generation.json | ||
README.md
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
# 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