Skip to content

Repository files navigation

🔧 Work in progress

HoGiahLang: The Accounting App

This is a minimal accounting desktop application built with Wails. The application allows users to save and have an overview of their asset distributions.

Aim to provide a simple accounting application that can be used to track assets and liabilities. Ultimately, help everyone to become hó-gia̍h-lâng, Taiwanese for rich people 💰.

Features

  • Input and save total assets.
  • Persist data using SQLite.
  • Cross-platform desktop application.

Getting Started

Prerequisites

Before you start, make sure you have the following installed on your system:

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/SimpleAccountingApp.git
    cd SimpleAccountingApp
  2. Install Go dependencies:

    go mod tidy
  3. Install Node.js dependencies:

    cd frontend
    npm install
    cd ..
  4. Run the application in development mode:

    wails dev

    This will start the development server, and the application will open in a window.

Building the Application

To build the application for your operating system:

wails build

This command will generate the executable in the build/bin directory.

Testing the Application

To run the tests:

go test ./<package name in backend>

Release of the software

The release of the software is automated using the GitHub Actions. The release is triggered when a new tag is pushed to the repository. The release will create a new release with the binaries for MacOS universal architechture.

Versioning

Semantic versioning is used for versioning the software. The action pipeline will create a new release by incrementing the version number based on the commit messages and tag the repo with calculated version.

Project Structure

  • internal/: Contains the Go backend code for database interactions.
    • app/
      • os.go: OS-specific functions.
      • processing.go: Functions for processing data.
    • db/
      • database.go: SQLite database setup and operations.
      • database_test.go: Tests for the database operations.
      • utilites.go: Utility functions for database operations.
  • frontend/: Contains the React frontend code.
    • src/
      • components/: React components.
      • pages/: React pages.
    • main.tsx: Entry point for the React application.
  • main.go: Application entry point and Wails bindings.
  • build/: Output directory for the built application.
  • wails.json: Wails project configuration.

Techstack

  • Wails: A framework for building desktop applications using Go and Web technologies.
  • TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
  • React: A JavaScript library for building user interfaces.
  • SQLite: A lightweight database engine.
  • Go: A statically typed, compiled programming language.

Screenshots

Screenshot

Contributing

If you'd like to contribute to this project, please fork the repository and use a feature branch. Pull requests are welcome!

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

  • Wails for providing the framework to build cross-platform desktop applications.
  • React and TypeScript for the frontend.
  • SQLite for the lightweight database.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages