test_123/README.md

1.5 KiB

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