63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# Focalboard
|
|
|
|
[![Focalboard](website/site/static/img/hero.jpg)](https://www.focalboard.com)
|
|
|
|
[Focalboard](https://www.focalboard.com) is an open source project management app for individuals and teams. It comes in two editions:
|
|
* **Personal Desktop**: A stand-alone desktop app for your todos and personal projects
|
|
* **Personal Server**: A self-hosted server for your team to collaborate
|
|
|
|
The same server binary powers both editions.
|
|
|
|
## Building the server
|
|
|
|
Please refer to the [Developer's Tips & Tricks](https://www.focalboard.com/contribute/getting-started/dev-tips/) for more detailed steps. Here's a summary:
|
|
|
|
First, install basic dependencies:
|
|
* Go 1.15+
|
|
* Node 10+ and npm
|
|
* Mingw64 on Windows
|
|
|
|
```
|
|
make prebuild
|
|
make
|
|
```
|
|
|
|
## Running and testing the server
|
|
|
|
To start the server, run `./bin/focalboard-server`
|
|
|
|
Server settings are in config.json.
|
|
|
|
Open a browser to [http://localhost:8000](http://localhost:8000) to start.
|
|
|
|
## Building and running standalone desktop apps
|
|
|
|
You can build standalone apps that package the server to run locally against SQLite:
|
|
|
|
* Mac:
|
|
* `make mac-app`
|
|
* run `mac/dist/Focalboard.app`
|
|
* *Requires: macOS Catalina (10.15)+, Xcode 12+.*
|
|
* Linux:
|
|
* Install webgtk dependencies
|
|
* `sudo apt-get install libgtk-3-dev`
|
|
* `sudo apt-get install libwebkit2gtk-4.0-dev`
|
|
* `make linux-app`
|
|
* run `linux/dist/focalboard-app`
|
|
* *Tested with: Ubuntu 18.04*
|
|
* Windows:
|
|
* Open a git-bash prompt
|
|
* Install win-node-env `npm install -g win-node-env`
|
|
* `make win-app`
|
|
* run `win/dist/focalboard.exe`
|
|
* *Requires: Windows 10*
|
|
|
|
Cross-compilation currently isn't fully supported, so please build on the appropriate platform. Refer to the GitHub Actions workflows (build-mac.yml, build-win.yml, build-ubuntu.yml) for the detailed list of steps on each platform.
|
|
|
|
## Unit tests
|
|
|
|
Before checking-in commits, run: `make ci`, which is simlar to the ci.yml workflow and includes:
|
|
* Server unit tests: `make server-test`
|
|
* Webapp eslint: `cd webapp; npm run check`
|
|
* Webapp unit tests: `cd webapp; npm run test`
|
|
* Webapp UI tests: `cd webapp; npm run cypress:ci`
|