Skip to content
yoinc-developmentPublic

About

A standalone home budget application for Windows.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

cleard

GitHub release

cleard is a desktop app that helps you keep track of your money. You record your income and expenses, sort them into categories, and see at a glance where your money goes each month.

I've created this project to offer an alternative to all paid finance apps. Same features, same oversight over your budget, but no costs, no subscriptions, no data being stolen. Your data is being stored on your PC and that's where it will stay.

What can it do?

  • Accounts - keep several accounts (e.g. checking, savings, cash) and switch between them from the sidebar. Each account has its own transactions and categories.
  • Transactions - add, edit and delete income and expenses. Browse them month by month, search them, and filter by category or tag. Each month shows a summary of what came in, what went out and the net result.
  • Transfers - create a category that points to another account, and every transaction in it is mirrored on that account automatically. Editing or deleting one side updates the other.
  • Categories - group your transactions (e.g. "Groceries", "Salary") with your own names and colors, and see how much you have spent in each category this month.
  • Overview - a monthly dashboard with your totals, spending per category and a daily spending chart.
  • Thresholds - set a warning limit on a category and see how close you are to it this month.

Frequently Asked Questions

If I enter my data in cleard, who can see it?

Only you. Your data is not shared with others - it is saved on your own PC.

Does it cost any money to use cleard?

No.

Can I share my data across multiple devices?

Currently that is not possible.

I have a question. How can I ask you this?

You can create an issue here and I will get back as soon as possible.

The Developer Section

The following part is only for developers who are interested in the technical structure of the project and possibly want to contribute.

How it works (the short version)

cleard is built from three parts that are packaged together into one installable app:

Part What it does Technology
Backend Stores your data and does the calculations Java 21, Spring Boot, SQLite
Frontend The screens you see and click on React, TypeScript, Vite
Desktop shell The app window; starts the backend for you Electron

When you launch the app, the shell quietly starts the backend in the background, waits until it is ready, and then opens a window showing the frontend. The installer bundles its own Java runtime, so you do not need to install Java to use cleard.

Your data lives in a folder called .cleard in your user directory (for example C:\Users\<you>\.cleard). On Windows, uninstalling the app deletes this folder, including all your data; on macOS, moving the app to the trash leaves it in place. cleard has no export feature yet, so back up the folder yourself if you want to keep it.

What you need for local development

  • Java 21 (JDK)
  • Node.js 22 and npm
  • Git

Maven does not need to be installed; the project ships its own wrapper (mvnw). Development works the same on Windows and macOS.

1. Get the code

git clone https://github.com/yoinc-development/cleard.git
cd cleard

2. Start the backend

From the project root, start it with the dev profile. This makes it listen on the fixed port 8080, which the frontend expects:

SPRING_PROFILES_ACTIVE=dev ./mvnw spring-boot:run

On Windows PowerShell:

$env:SPRING_PROFILES_ACTIVE="dev"; ./mvnw spring-boot:run

(In IntelliJ, run CleardApplication with the active profile set to dev.)

The first start creates a development database at ~/.cleard/cleard-dev.db automatically.

3. Start the frontend

In a second terminal:

cd frontend
npm ci
npm run dev

Then open http://127.0.0.1:5173 in your browser. The page reloads as you edit the code, and requests to /api are forwarded to the backend from step 2.

Running the tests

./mvnw test              # backend (uses an in-memory database)
cd frontend && npm test  # frontend

Trying the desktop window (optional)

To test the Electron shell itself, with the backend from step 2 still running:

cd frontend && npm run build   # builds the frontend into the backend
cd ../desktop
npm ci
npm run dev

This opens the real app window pointed at your running dev backend. It shows the built frontend, not the live-reloading one from step 3. After a frontend change, run npm run build again and restart the backend (or rebuild its resources) so it serves the new files.

Building the installer

The installer bundles a Java runtime, so it has to be built on the platform it is for, with a JDK 21 (jlink on your PATH): a .exe on Windows, a .dmg on macOS (built for the processor architecture you are on):

cd desktop
npm ci
npm run build

The result, cleard-setup-<version>.exe or cleard-<version>-<arch>.dmg, is written to target/dist. Releases are built by GitHub Actions when a version tag is pushed.

Project layout

src/         Backend (Java, Spring Boot)
frontend/    Frontend (React)
desktop/     Desktop shell and installer config (Electron)
packaging/   App icons (Windows and macOS)

Contributing

Ideas, bug reports and pull requests are welcome. Please read CONTRIBUTING.md first.

License

cleard is released under the MIT License.

About

A standalone home budget application for Windows.

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages