71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
|
|
||
|
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](XXX) folder.
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
### The easy way: using a server (recommended)
|
||
|
|
||
|
The easiest way to get Actual running is to use the [actual-sync](XXX) 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 XXX
|
||
|
cd actual-sync
|
||
|
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-sync](XXX) 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](XXX). 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](XXX) folder.
|