Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
Find a file
Harshil Sharma ab3bf6312c
Merge Onboarding feature branch into main (#2406)
* Persistent user config (#2133)

* Added user config API

* Add unit tests

* lint fix

* Fixed webapp tests

* Fixed webapp tests

* Updated props in store after updating

* Minor fixes

* Removed redundent data from audit logs

* Onboarding Tour (#2287)

* Created private board

* Roughly displayed tour

* Synced with Dhama's changes

* WIP

* Trying to add GIF

* Added 3 tour steps

* WIP

* WIP

* WIP

* checked in missed file

* Synced with feature branch

* WIp

* Adde skip tour option

* Fixed image loading for on-prem

* Made tour work on presonal server:

* Adde missed file

* Adding telemetry

* Adding telemetry

* Added tour tip telemetry

* Fixed pulsating dot styling for personal server

* reverted personal config

* Added reset tour button

* Displayed share tour tip of feature is enabled

* Lint fixes

* Fixed webapp tests

* Fixed webapp tests

* Completed webapp tests

* Completed webapp tests

* Webapp lint fixes

* Added server tests

* Testing cypress skip tour fix

* Fixed Cypress tests

* Added share board tour step

* Added share board tour step

* webapp lint fixes

* Updated logic to pick welcome board

* Updated tests:

* lint fixes

* Updating UI changes

* Fixed a bug causing card tour to re-appear

* FIxed minor issue

* FIxed bug where card tour didn't start in clickingh on card

* Fixed tests

* Make update user props use string instead of interface

* Fixed a value type

* Updating gif size

* Updating resolution breakpoint

* Updating tutorial tip

* Updating view selector

* Refactored tour components

* Misc fixes

* minor refactoring

* GH-2258: allow date range to overflow (#2268)

* allow date range to overflow

* Fixed issue with date overflowing into neighbouring column

Co-authored-by: Harshil Sharma <harshilsharma63@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* Update readme with accurate Linux standalone app build instructions (#2351)

* Bump follow-redirects from 1.14.7 to 1.14.8 in /experiments/webext (#2339)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Switch component style fixed: selector specificity increased by adding additional class. (#2179)

* Adding sever side undelete endpoint (#2222)

* Adding sever side undelete endpoint

* Removing long lines golangci-lint errors

* Fixing linter errors

* Fixing a test problem

* Fixing tests

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>

* Removing transactions from sqlite backend (#2361)

* Removing transactions from sqlite backend

* Skipping tests in sqlite because the lack of transactions

* Generating the mocks

* Fixing golangci-lint

* Fixing problem opening the tour tooltip on card open

* Fixing texts missmatch

* Adding the Product Tour entry in the user settings menu

* Fixing some tests

* Fixing tests

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kamre <eremchenko@gmail.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>

* Restored package json

* Restored package json

Co-authored-by: Asaad Mahmood <asaadmahmood@users.noreply.github.com>
Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kamre <eremchenko@gmail.com>
Co-authored-by: Jesús Espino <jespinog@gmail.com>
2022-02-28 12:28:16 +01:00
.github Update GitHub workflow to use Windows 2022 (#2348) 2022-02-16 07:43:09 -08:00
.vscode Implement Date ranges (#660) 2021-08-06 10:44:01 -06:00
build Update MIT-COMPILED-LICENSE.md 2021-03-19 18:26:59 -07:00
docker Add chown for nobody in the docker run example (#2193) 2022-01-31 16:52:02 +05:30
docker-testing Test all supported databases in CI (#2000) 2021-12-17 12:30:47 -05:00
docs Fix #1957. Boards dev guide. (#2390) 2022-02-25 09:37:40 -08:00
experiments/webext Bump follow-redirects from 1.14.7 to 1.14.8 in /experiments/webext (#2339) 2022-02-21 03:22:46 -05:00
import restore ArchiveUtils for import scripts (#2314) 2022-02-14 10:38:45 -05:00
linux Import/export moved to server + image support + streaming (#2201) 2022-02-01 19:01:29 -05:00
mac Fix #2333. Handle export in Mac App (#2334) 2022-02-14 19:57:44 -08:00
mattermost-plugin Merge Onboarding feature branch into main (#2406) 2022-02-28 12:28:16 +01:00
server Merge Onboarding feature branch into main (#2406) 2022-02-28 12:28:16 +01:00
webapp Merge Onboarding feature branch into main (#2406) 2022-02-28 12:28:16 +01:00
website Update _index.md (#2366) 2022-02-24 12:03:08 +02:00
win-wpf Update GitHub workflow to use Windows 2022 (#2348) 2022-02-16 07:43:09 -08:00
.dockerignore docker: fix docker file image and apply some good practices (#552) 2021-07-01 11:46:03 +02:00
.editorconfig Adding initial coding style checking 2020-10-15 01:02:41 +02:00
.gitignore Remove enterprise symlink (#589) 2021-06-18 07:48:01 +02:00
.gitlab-ci.yml add variable to define the image (#581) 2021-06-15 14:00:05 +02:00
app-config.json Fix indentation 2021-02-10 10:13:04 -08:00
CHANGELOG.md Update CHANGELOG.md (#2261) 2022-02-04 14:52:00 -07:00
config.json Config for share board (#1187) 2021-09-16 13:31:02 -06:00
CONTRIBUTING.md Update contributors list in contributing.md (#2320) 2022-02-11 10:25:23 -08:00
Dockerfile.build docker: fix docker file image and apply some good practices (#552) 2021-07-01 11:46:03 +02:00
LICENSE.txt License product name 2021-01-26 13:55:35 -08:00
Makefile Don't show Follow button on card template (#2260) 2022-02-07 08:41:07 -07:00
modd-servertest.conf Remove indir directive as it's causing problems in OSX systems (#1328) 2021-09-24 21:01:05 +02:00
modd-watchplugin.conf Remove indir directive as it's causing problems in OSX systems (#1328) 2021-09-24 21:01:05 +02:00
modd.conf Remove indir directive as it's causing problems in OSX systems (#1328) 2021-09-24 21:01:05 +02:00
NOTICE.txt @mention support (#1147) 2021-09-13 15:36:36 -04:00
README.md Fix #1957. Boards dev guide. (#2390) 2022-02-25 09:37:40 -08:00
responsible_disclosure_policy.md Update responsibile_disclosure_policy.md (#1383) 2021-10-01 13:39:00 +02:00
server-config.json Workspace switcher (#1052) 2021-09-08 10:22:03 +05:30

Focalboard

CI Status CodeQL Dev Release Prod Release Translation status

Like what you see? 👀 Give us a GitHub Star!

Focalboard

Focalboard is an open source, multilingual, self-hosted project management tool that's an alternative to Trello, Notion, and Asana.

It helps define, organize, track and manage work across individuals and teams. Focalboard comes in two main editions:

  • Personal Desktop: A stand-alone single-user Mac, Windows, or Linux desktop app for your todos and personal projects.

  • Mattermost Boards: A self-hosted or cloud server for your team to plan and collaborate.

Focalboard can also be installed as a standalone personal server for development and personal use.

Try out Focalboard

Focalboard Personal Desktop (Windows, Mac or Linux Desktop)

Try out the single-user Focalboard Personal Desktop:

Mattermost Boards

Mattermost Boards combines project management tools with messaging and collaboration for teams of all sizes. To access and use Boards, install or upgrade to Mattermost v6.0 or later as a self-hosted server or Cloud server. After logging into Mattermost, select the menu in the top left corner of Mattermost and choose Boards.

See the setup guide for more details.

Focalboard Personal Server (Ubuntu)

You can download and run the compiled Focalboard Personal Server by following our latest install guide.

Download the latest server release from GitHub releases

Building the server

Most development can be done on the Personal Server edition. Please refer to the Developer's Tips & Tricks for more detailed steps. Here's a summary:

First, install basic dependencies:

  • Go 1.15+
  • Node 16.3+ 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 (or the path specified with --config).

Open a browser to 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 11.3+, Xcode 13.2.1+
  • Linux:
    • Install webgtk dependencies
      • sudo apt-get install libgtk-3-dev
      • sudo apt-get install libwebkit2gtk-4.0-dev
    • make linux-app
    • uncompress linux/dist/focalboard-linux.tar.gz to a directory of your choice
    • run focalboard-app from the directory you have chosen
    • Tested with: Ubuntu 18.04
  • Windows:
    • Open a git-bash prompt
    • make win-wpf-app
    • run cd win-wpf/msix && focalboard.exe
    • Requires: Windows 10, Windows 10 SDK 10.0.19041.0, .NET 4.8 developer pack
  • Docker:
    • To run it locally from Offical Image
    • docker run -it -p 80:8000 mattermost/focalboard
    • To Build it for your Current Architecture
    • docker build -f docker/Dockerfile .
    • To Build it for a custom Architecture (Experimental)
    • docker build -f docker/Dockerfile --platform linux/arm64 .

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

Stay informed on progress

Share your feedback

File bugs, suggest features, join our forum, learn more here!

Contributing

Contribute code, bug reports, and ideas to the future of the Focalboard project. We welcome your input! Please see CONTRIBUTING.md for details on how to get involved.

Translating

Help translate Focalboard! The app is already translated into several languages. We welcome corrections and new language translations! You can add new languages or improve existing translations at Weblate.