This is the source code for [Actual](https://actualbudget.com), a local-first personal finance tool. It is 100% free and open-source. If you are only interested in running the latest version, you don't need this repo. You can get the latest version through npm. More docs are available in the [docs](https://github.com/actualbudget/actual/tree/master/docs) folder. If you are interested in contributing, or want to know how development works, see [CONTRIBUTING.md](https://github.com/actualbudget/actual/blob/master/CONTRIBUTING.md) Join the [discord](https://discord.gg/pRYNYr4W5A)! ## Installation ### The easy way: using a server (recommended) The easiest way to get Actual running is to use the [actual-server](https://github.com/actualbudget/actual-server) project. That is the server for syncing changes across devices, and it comes with the latest version of Actual. The server will provide both the web project and a server for syncing. ``` git clone https://github.com/actualbudget/actual-server.git cd actual-server yarn install yarn start ``` Navigate to https://localhost:5006 in your browser and you will see Actual. You should deploy the server somewhere so you can access your data from anywhere. See instructions on the [actual-server](https://github.com/actualbudget/actual-server) repo. ### Without a server This will give you a fully local web app without a server. This npm package is the `packages/desktop-client` package in this repo built for production: ``` yarn add @actual-app/web ``` Now you need to serve the files in `node_modules/@actual-app/web/build`. One way to do it: ``` cd node_modules/@actual-app/web/build npx http-server . ``` Navigate to http://localhost:8080 and you should see Actual. ## Building If you want to build the latest version, see [releasing.md](https://github.com/actualbudget/actual/blob/master/docs/releasing.md). It provides instructions for building this code into the same artifacts that come from npm. ## Run locally Both the electron and web app can started with a single command. When running in development, it will store data in a `data` directory in the root of the `actual` directory. First, make sure to run `yarn install` to install all dependencies. In the root of the project: ``` yarn start # Run the electron app yarn start:browser # Run the web app ``` ## Code structure The app is split up into a few packages: * loot-core - The core application that runs on any platform * loot-design - The generic design components that make up the UI * desktop-client - The desktop UI * desktop-electron - The desktop app * mobile - The mobile app More docs are available in the [docs](https://github.com/actualbudget/actual/tree/master/docs) folder.