57e0d713da
* master: (39 commits) fix: correct import of merkle in test chore: move snapshot to new dir refactor: move crdt files into separate directory revert: revert pruning of svg imports style: nicer re-exporting syntax refactor: remove unused imports chore: update package scripts to take advantage of yarn v3 build: add missing eslint dependency to loot-core build: add cross-env dependency to desktop-client package.json build: remove deprecated nohoist settings and prevent hoisting of mobile dependencies fix: move downshift patch to monorepo root CI: update CI definition to use yarn v3 fix: wrap glob in quotes so that it's properly passed to npm-run-all chore: update root yarn scripts to use `workspace` command instead of cd chore: fix broken builds chore: update to yarnv3 and fix missing packages preventing install Force react-error-overlay to 6.0.9 to fix error Add docs for building for windows (contributed by @ejmurra) add: tsconfig.json build: replace jwl-dev-utils with react-dev-utils ... |
||
---|---|---|
.circleci | ||
.github | ||
.yarn | ||
bin | ||
data | ||
docs | ||
packages | ||
patches | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.nvmrc | ||
.yarnrc.yml | ||
CONTRIBUTING.md | ||
jest-babel-transformer-esm.js | ||
jest-babel-transformer.js | ||
jest.config.js | ||
LICENSE.txt | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
This is the source code for Actual, 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 folder.
If you are interested in contributing, or want to know how development works, see CONTRIBUTING.md
Join the discord!
Installation
The easy way: using a server (recommended)
The easiest way to get Actual running is to use the 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 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. 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 folder.