Skip to content

The-No-Hands-company/SavingsGoalTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Savings Goal Tracker

A modern desktop application for tracking savings goals, built with COBOL backend and Qt frontend.

πŸš€ Features

  • 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

πŸ› οΈ Technology Stack

  • Backend: COBOL
  • Frontend: Qt 6.5.0
  • Database: SQLite3
  • Build System: PowerShell scripts
  • IDE: Visual Studio 2022

πŸ“‹ Prerequisites

  • Qt 6.5.0 or later
  • Visual Studio 2022 or later
  • GnuCOBOL
  • SQLite3
  • PowerShell 7.0 or later

πŸ—οΈ Building from Source

  1. Clone the repository:

    git clone https://github.com/The-No-Hands-company/SavingsGoalTracker.git
    cd SavingsGoalTracker
  2. Install dependencies:

    .\scripts\install_dependencies.ps1
  3. Build the application:

    .\scripts\build_app.ps1
  4. Run the application:

    .\scripts\run_app.ps1

πŸ§ͺ Testing

Run the test suite:

.\scripts\run_all_tests.ps1

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Authors

  • Zajfan - Initial work - Zajfan

πŸ™ Acknowledgments

  • Qt Framework
  • GnuCOBOL Team
  • SQLite Team

Project Structure

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

Prerequisites

  • 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

Building

Windows

  1. 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
  2. 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)
  3. 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)

Unix/Linux

Coming soon...

Running the Application

After building, you can run the application using:

dist\run_app.bat

Development

Adding New Features

  1. Backend (COBOL):

    • Add new functions in src/backend/
    • Update the wrapper interface in src/wrapper/
  2. Frontend (Qt):

    • Add new UI components in src/frontend/
    • Update the main window to include new features

Testing

  1. Unit Tests:

    • Backend tests in tests/backend/
    • Frontend tests in tests/frontend/
    • Integration tests in tests/integration/
  2. Manual Testing:

    • Follow test procedures in docs/testing/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Version History

  • 0.9.0-beta: Initial beta release
    • Basic savings goal management
    • Progress tracking
    • Both COBOL and standalone versions

About

A modern desktop application for tracking savings goals, built with COBOL backend and Qt frontend

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published