A C++17 console application for managing personal data with sorting, filtering, and search capabilities.
- Add persons with validation (name, age, email, city)
- View all persons with formatted display
- Sort by multiple criteria (name, age, email, city, date added)
- Filter and search functionality
- Statistics and data analysis
- Input validation and error handling
- Models: Data entities with validation (
Person
) - Repositories: Data access and storage layer (
PersonRepository
) - Services: Business logic and operations (
PersonService
) - Controllers: User interface and interaction (
ConsoleController
)
- C++ Compiler: C++17 compatible
- GCC 7.0+ (Linux)
- Clang 5.0+ (macOS/Linux)
- MSVC 2017+ (Windows)
- Build System: CMake 3.16 or higher
- Platform: Linux, macOS, Windows
- Standard C++17 library (no external dependencies required)
- CMake for build configuration
# Clone or navigate to project directory
cd PersonalDataManager
# Create build directory and configure
mkdir build && cd build
# Configure with CMake
cmake ..
# Build the project
cmake --build .
# Run the application
./PersonalDataManager # Linux/macOS
PersonalDataManager.exe # Windows