Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages