f915a20c64
* Working in the new content block editor * Moving blocksEditor content block into its own component * Initial integration with quick development flow * More WIP * Adding drag and drop support with server side help * Some extra work around the styles * Adding image support * Adding video and attachments, and fixing edit * Putting everything behind a feature flag * Adding support for download attachments * Fixing compilation error * Fixing linter errors * Fixing javascript tests * Fixing a typescript error * Moving the move block to an action with undo support * Fixing ci * Fixing post merge errors * Moving to more specific content-blocks api * Apply suggestions from code review Co-authored-by: Doug Lauder <wiggin77@warpmail.net> * Fixing the behavior of certain blocks * Fixing linter error * Fixing javascript linter errors * Adding permission testing for the new move content block api * Adding some unit tests * Improving a bit the tests * Adding more unit tests to the backend * Fixed PR suggestion * Adding h1, h2 and h3 tests * Adding image tests * Adding video tests * Adding attachment tests * Adding quote block tests * Adding divider tests * Adding checkbox tests * Adding list item block tests * Adding text block tests * Reorganizing a bit the code to support deveditor eagain * Fixing dark theme on editor view * Fixing linter errors * Fixing tests and removing unneeded data-testid * Adding root input tests * Fixing some merge problems * Fixing text/text.test.tsx test * Adding more unit tests to the blocks editor * Fix linter error * Adding blocksEditor tests * Fixing linter errors * Adding tests for blockContent * Update webapp/src/components/blocksEditor/blockContent.test.tsx Fix linter warning * Update webapp/src/components/blocksEditor/blockContent.test.tsx Fix linter warning * Update webapp/src/components/blocksEditor/blockContent.test.tsx Fix linter error * Fixing test * Removing unneeded TODO Co-authored-by: Doug Lauder <wiggin77@warpmail.net> |
||
---|---|---|
.github | ||
.vscode | ||
build | ||
docker | ||
docker-testing | ||
docs | ||
experiments/webext | ||
import | ||
linux | ||
mac | ||
mattermost-plugin | ||
noticegen | ||
server | ||
webapp | ||
website | ||
win-wpf | ||
.dockerignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitpod.yml | ||
app-config.json | ||
CHANGELOG.md | ||
config.json | ||
CONTRIBUTING.md | ||
Dockerfile.build | ||
LICENSE.txt | ||
Makefile | ||
modd-servertest.conf | ||
modd-watchplugin.conf | ||
modd.conf | ||
NOTICE.txt | ||
pull_request_template.md | ||
README.md | ||
responsible_disclosure_policy.md | ||
SECURITY.md | ||
server-config.json |
Focalboard
Like what you see? 👀 Give us a GitHub Star! ⭐
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:
-
Mattermost Boards: A self-hosted or free cloud server for your team to plan and collaborate.
-
Personal Desktop: A standalone, single-user Mac, Windows, or Linux desktop app for your own todos and personal projects.
Focalboard can also be installed as a standalone Personal Server for development and personal use.
Try Focalboard
Mattermost Boards - now available as a free cloud server
Mattermost Boards combines project management tools with messaging and collaboration for teams of all sizes. To access and use Mattermost 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 and select Boards.
Mattermost Boards is installed and enabled by default in Mattermost v6.0 and later.
See the plugin setup guide for more details.
Personal Desktop (Windows, Mac or Linux Desktop)
- Windows: Download from the Windows App Store or download
focalboard-win.zip
from the latest release, unpack, and runFocalboard.exe
. - Mac: Download from the Mac App Store.
- Linux Desktop: Download
focalboard-linux.tar.gz
from the latest release, unpack, and openfocalboard-app
.
Personal Server
Ubuntu: You can download and run the compiled Focalboard Personal Server on Ubuntu by following our latest install guide.
Contribute to Focalboard
Contribute code, bug reports, and ideas to the future of the Focalboard project. We welcome your input! Please see CONTRIBUTING for details on how to get involved.
Getting started
Our developer guide has detailed instructions on how to set up your development environment for the Personal Server. It also provides more information about contributing to our open source community.
Clone mattermost-server into sibling directory.
Create an .env
file in the focalboard directory that contains:
EXCLUDE_ENTERPRISE="1"
To build the server:
make prebuild
make
To run the server:
./bin/focalboard-server
Then navigate your browser to http://localhost:8000
to access your Focalboard server. The port is configured in config.json
.
Once the server is running, you can rebuild just the web app via make webapp
in a separate terminal window. Reload your browser to see the changes.
Building and running standalone desktop apps
You can build standalone apps that package the server to run locally against SQLite:
- Windows:
- Requires Windows 10, Windows 10 SDK 10.0.19041.0, and .NET 4.8 developer pack
- Open a
git-bash
prompt. - Run
make prebuild
- The above prebuild step needs to be run only when you make changes to or want to install your npm dependencies, etc.
- Once the prebuild is completed, you can keep repeating the below steps to build the app & see the changes.
- Run
make win-wpf-app
- Run
cd win-wpf/msix && focalboard.exe
- Mac:
- Requires macOS 11.3+ and Xcode 13.2.1+
- Run
make prebuild
- The above prebuild step needs to be run only when you make changes to or want to install your npm dependencies, etc.
- Once the prebuild is completed, you can keep repeating the below steps to build the app & see the changes.
- Run
make mac-app
- Run
open mac/dist/Focalboard.app
- Linux:
- Tested on Ubuntu 18.04
- Install
webgtk
dependencies- Run
sudo apt-get install libgtk-3-dev
- Run
sudo apt-get install libwebkit2gtk-4.0-dev
- Run
- Run
make prebuild
- The above prebuild step needs to be run only when you make changes to or want to install your npm dependencies, etc.
- Once the prebuild is completed, you can keep repeating the below steps to build the app & see the changes.
- Run
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
- 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 .
- To run it locally from offical image:
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 testing
Before checking in commits, run make ci
, which is similar to the .gitlab-ci.yml
workflow and includes:
- Server unit tests:
make server-test
- Web app ESLint:
cd webapp; npm run check
- Web app unit tests:
cd webapp; npm run test
- Web app UI tests:
cd webapp; npm run cypress:ci
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.
Staying informed
Are you interested in influencing the future of the Focalboard open source project? Here's how you can get involved:
- Changes: See the CHANGELOG for the latest updates
- GitHub Discussions: Join the Developer Discussion board
- Bug Reports: File a bug report
- Chat: Join the Focalboard community channel