Skip to content
Snippets Groups Projects
README.md 2.64 KiB
Newer Older
James Long's avatar
James Long committed

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.

James Long's avatar
James Long committed
More docs are available in the [docs](https://github.com/actualbudget/actual/tree/master/docs) folder.

If you are interested in contributed, or want to know how development works, see [CONTRIBUTING.md](https://github.com/actualbudget/actual/blob/master/CONTRIBUTING.md)
James Long's avatar
James Long committed

## Installation

### The easy way: using a server (recommended)

James Long's avatar
James Long committed
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.
James Long's avatar
James Long committed

```
James Long's avatar
James Long committed
git clone https://github.com/actualbudget/actual-server.git
cd actual-server
James Long's avatar
James Long committed
yarn install
yarn start
```

Navigate to https://localhost:5006 in your browser and you will see Actual.

James Long's avatar
James Long committed
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.
James Long's avatar
James Long committed

### 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

James Long's avatar
James Long committed
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.
James Long's avatar
James Long committed

## 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

James Long's avatar
James Long committed
More docs are available in the [docs](https://github.com/actualbudget/actual/tree/master/docs) folder.