Overview
Dux Rei Nummariae is a simple yet powerful budgeting application designed to help users manage their finances effectively. The official name of the project roughly in English means "Budget Navigator". Additional insight from the translation service provided by Quintus:
"Please note that in Latin you can't translate 'navigator' directly in this sense. Instead, you
must use the word 'dux, meaning 'guide'."
To hear the pronunciation of the project's name, click here.
Key Features
- Modern C++ implementation (C++20)
- Cross-platform compatibility
- Real-time currency exchange rates
- Comprehensive financial management tools
Project Structure
The project is organized into several main components:
- Core Library: Contains the fundamental budgeting and financial calculations
- Desktop Application: The main user interface built with Qt
- Unit Tests: Comprehensive test suite ensuring reliability
Building the Project
Prerequisites
For detailed build instructions and prerequisites, please refer to the INSTALL file in the project root directory. This file contains:
- System requirements
- Required dependencies
- Build configuration options
- Step-by-step build instructions
- Platform-specific notes
Supported Compilers
- GCC with extensive warning checks
- Apple Clang
- MSVC with enhanced compliance checks
Documentation
This documentation is generated using Doxygen and provides:
- Detailed API documentation
- Class hierarchies and relationships
- Code examples and usage patterns
- UML diagrams for better understanding of the system architecture
Getting Started
- Review the Contribution Guidelines
- Set up your development environment
- Dive into coding
Code Standards
- Follow the existing code style
- Use modern C++ features appropriately (C++20)
- Add comments for complex algorithms or business logic
- Keep functions focused and concise
Testing Requirements
- Write unit tests for new features and bug fixes
- Ensure existing tests pass
- Include test cases for edge conditions
- Verify test coverage for new code
Documentation
- Update documentation for new features or changes
- Include documentation for all public (external) APIs
- Update relevant README files if needed
Commit Guidelines
- Use clear, descriptive commit messages in the present tense
- Keep commits focused on single changes
Quality Checks
Before submitting, ensure:
- Code compiles without warnings
- All tests pass
- Documentation is updated
- Code coverage meets project standards
- Static analysis tools show no issues
Getting Help
- Review existing documentation
- Check open and closed issues
- Join project discussions
- Contact maintainers if needed
This documentation provides a comprehensive guide to the Dux Rei Nummariae codebase. Use the navigation menu to explore specific components and features.