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 💰.
- Input and save total assets.
- Persist data using SQLite.
- Cross-platform desktop application.
Before you start, make sure you have the following installed on your system:
-
Clone the repository:
git clone https://github.com/yourusername/SimpleAccountingApp.git cd SimpleAccountingApp -
Install Go dependencies:
go mod tidy
-
Install Node.js dependencies:
cd frontend npm install cd ..
-
Run the application in development mode:
wails dev
This will start the development server, and the application will open in a window.
To build the application for your operating system:
wails buildThis command will generate the executable in the build/bin directory.
To run the tests:
go test ./<package name in backend>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.
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.
- 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.
- app/
- frontend/: Contains the React frontend code.
- src/
- components/: React components.
- pages/: React pages.
main.tsx: Entry point for the React application.
- src/
main.go: Application entry point and Wails bindings.- build/: Output directory for the built application.
- wails.json: Wails project configuration.
- 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.
If you'd like to contribute to this project, please fork the repository and use a feature branch. Pull requests are welcome!
This project is licensed under the MIT License. See the LICENSE file for more details.
- Wails for providing the framework to build cross-platform desktop applications.
- React and TypeScript for the frontend.
- SQLite for the lightweight database.
