A modern desktop application for tracking savings goals, built with COBOL backend and Qt frontend.
- Create and manage savings goals
- Track progress towards financial targets
- Modern Qt-based user interface
- Data persistence with SQLite
- Dark mode support
- Keyboard shortcuts
- Goal categories and tags
- Backend: COBOL
- Frontend: Qt 6.5.0
- Database: SQLite3
- Build System: PowerShell scripts
- IDE: Visual Studio 2022
- Qt 6.5.0 or later
- Visual Studio 2022 or later
- GnuCOBOL
- SQLite3
- PowerShell 7.0 or later
-
Clone the repository:
git clone https://github.com/The-No-Hands-company/SavingsGoalTracker.git cd SavingsGoalTracker
-
Install dependencies:
.\scripts\install_dependencies.ps1
-
Build the application:
.\scripts\build_app.ps1
-
Run the application:
.\scripts\run_app.ps1
Run the test suite:
.\scripts\run_all_tests.ps1
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Zajfan - Initial work - Zajfan
- Qt Framework
- GnuCOBOL Team
- SQLite Team
SavingGoalTracker/
βββ src/
β βββ backend/ # COBOL source files
β βββ frontend/ # Qt UI source files
β βββ wrapper/ # C/C++ wrapper code
βββ scripts/
β βββ build/ # Build scripts
β β βββ windows/ # Windows-specific build scripts
β β βββ unix/ # Unix-specific build scripts
β βββ tools/ # Utility scripts
βββ docs/
β βββ api/ # API documentation
β βββ user/ # User documentation
β βββ screenshots/ # Application screenshots
βββ data/ # Application data files
βββ tests/ # Test files
βββ build/ # Build output (in .gitignore)
βββ dist/ # Distribution output (in .gitignore)
βββ LICENSE
βββ README.md
- Windows 10 or later
- GnuCOBOL 3.1.2 or later
- Qt 6.8.1 or later
- Visual Studio 2022 with C++ workload
- PowerShell 7.0 or later
-
Install prerequisites:
- Install Visual Studio 2022 with C++ workload
- Install Qt 6.8.1 for MSVC 2022 64-bit
- Install GnuCOBOL 3.1.2 or later
-
Set up environment variables:
- QT_DIR: Path to Qt installation (e.g., D:\Qt\6.8.1\msvc2022_64)
- GNUCOBOL_PATH: Path to GnuCOBOL installation (e.g., C:\GnuCOBOL)
-
Build the application:
cd scripts/build/windows build.bat
The script will automatically detect if COBOL is available and build either:
- Full version with COBOL backend (if COBOL is available)
- Standalone version with mock backend (if COBOL is not available)
Coming soon...
After building, you can run the application using:
dist\run_app.bat
-
Backend (COBOL):
- Add new functions in
src/backend/
- Update the wrapper interface in
src/wrapper/
- Add new functions in
-
Frontend (Qt):
- Add new UI components in
src/frontend/
- Update the main window to include new features
- Add new UI components in
-
Unit Tests:
- Backend tests in
tests/backend/
- Frontend tests in
tests/frontend/
- Integration tests in
tests/integration/
- Backend tests in
-
Manual Testing:
- Follow test procedures in
docs/testing/
- Follow test procedures in
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- 0.9.0-beta: Initial beta release
- Basic savings goal management
- Progress tracking
- Both COBOL and standalone versions