Bingusboard is a fork of the unmainted Focalboard by Mattermost
  • TypeScript 54.3%
  • Go 41%
  • SCSS 4.1%
  • Makefile 0.3%
  • JavaScript 0.2%
Find a file
renovate[bot] 4c2eafd26d
Update dependency @types/nanoevents to v3 (#171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 02:35:47 +00:00
.github Add README documenting Copilot instruction files 2026-02-04 23:39:19 +00:00
.vscode [MM-59253]: Remove plugin code from focalboard repo (#5027) 2024-08-28 22:16:15 +05:30
docker Update golang Docker tag to v1.25.7 2026-02-04 23:45:25 +00:00
docker-testing Update mariadb Docker tag to v10.11.15 (#133) 2026-02-03 10:32:09 +00:00
docs remove focalboard website dir, ensure no redirects to poor mattermost devs for bingusboard 2026-01-25 19:09:48 -05:00
import Merge pull request #131 from SomethingGeneric/renovate/xml2js-0.x 2026-02-02 14:30:23 -05:00
noticegen Remove unused linux/ desktop app folder and references 2026-01-26 15:59:18 +00:00
server Update dependency go to v1.25.7 2026-02-04 17:54:29 +00:00
webapp Update dependency @types/nanoevents to v3 (#171) 2026-02-05 02:35:47 +00:00
.dockerignore Remove unused linux/ desktop app folder and references 2026-01-26 15:59:18 +00:00
.editorconfig Adding initial coding style checking 2020-10-15 01:02:41 +02:00
.gitattributes Git attributes for ignoring website and swagger docs in linguist added. (#3172) 2022-06-12 09:18:44 -07:00
.gitignore Move screenshot script to separate file for maintainability 2026-02-03 19:29:55 +00:00
.gitlab-ci.yml MM-49703: Bump to Go 1.19 (#4489) (#4502) 2023-01-23 12:43:40 +05:30
.gitpod.yml Create .gitpod.yml (#3010) 2022-05-03 13:46:04 -04:00
AGENTS.md Fix mock expectations in TestPatchBoard for template board type patches 2026-01-26 05:27:53 +00:00
app-config.json Fix indentation 2021-02-10 10:13:04 -08:00
CHANGELOG.md Update CHANGELOG.md for v0.15 2022-03-04 10:21:04 -05:00
config.json [Refactor]: updated dependency for focalboard server (#5009) 2024-06-07 23:30:08 +05:30
CONTRIBUTING.md remove focalboard website dir, ensure no redirects to poor mattermost devs for bingusboard 2026-01-25 19:09:48 -05:00
dev.sh more link hunting, and other stuff i forget 2026-01-25 19:50:34 -05:00
docker-compose.yml more link hunting, and other stuff i forget 2026-01-25 19:50:34 -05:00
Dockerfile.build Update golang Docker tag to v1.25.7 2026-02-04 23:45:25 +00:00
HISTORIC-README.md remove focalboard website dir, ensure no redirects to poor mattermost devs for bingusboard 2026-01-25 19:09:48 -05:00
LICENSE.txt remove focalboard website dir, ensure no redirects to poor mattermost devs for bingusboard 2026-01-25 19:09:48 -05:00
Makefile Update Makefile 2026-01-28 12:04:50 -05:00
modd-servertest.conf Add sqlite3 tag to modd files and linux app build (#4218) 2022-11-16 16:51:25 +01:00
modd.conf Add sqlite3 tag to modd files and linux app build (#4218) 2022-11-16 16:51:25 +01:00
NOTICE.txt @mention support (#1147) 2021-09-13 15:36:36 -04:00
README.md Address final code review feedback 2026-01-26 04:42:05 +00:00
renovate.json renovate can automerge 2026-01-25 23:29:17 -05:00
responsible_disclosure_policy.md remove focalboard website dir, ensure no redirects to poor mattermost devs for bingusboard 2026-01-25 19:09:48 -05:00
sanity-final-demo-error.png Add end-to-end sanity workflow with account registration and dashboard verification 2026-02-03 19:58:02 +00:00
SECURITY.md remove focalboard website dir, ensure no redirects to poor mattermost devs for bingusboard 2026-01-25 19:09:48 -05:00
server-config.json Fix configuration for prometheus address (#2763) 2022-04-12 17:43:29 -04:00

Bingusboard

License: AGPL-3.0

Bingusboard is a work-in-progress fork of the original Focalboard project. The goal of this fork is to keep the core experience lean and familiar to fans of Trello-style task boards while staying lightweight enough to run comfortably on Linux with the built-in SQLite storage backend.

At this stage only the essential web client and Go personal server paths are actively maintained. Other Focalboard features—particularly the enterprise integrations, alternative database layers, and desktop or mobile bundles—may or may not continue to function and could be removed over time.

✨ Features

  • Board Views: Organize tasks with familiar Trello-style Kanban boards, tables, galleries, and calendar views
  • Self-Hosted: Run on your own infrastructure with full control over your data
  • Lightweight: SQLite backend for simple, file-based storage (PostgreSQL/MySQL also supported)
  • Multilingual: Built-in internationalization support
  • Collaborative: Multi-user support with real-time updates
  • Templates: Pre-built templates to get started quickly
  • Import/Export: Board archive format for backup and migration

🚀 Quick Start

Prerequisites

Before you begin, ensure you have the following installed:

  • Git
  • Go 1.21 or higher (see server/go.mod)
  • Node.js 20.19 or higher (see webapp/.nvmrc)
  • npm (comes with Node.js)

Installation

  1. Clone the repository

    git clone https://github.com/SomethingGeneric/bingusboard.git
    cd bingusboard
    
  2. (Optional) Create an .env file in the project root if excluding enterprise features:

    echo EXCLUDE_ENTERPRISE=1 > .env
    
  3. Install dependencies and build

    make prebuild  # Install webapp dependencies
    make           # Build server and webapp
    
  4. Run the server

    ./bin/focalboard-server
    
  5. Open your browser and navigate to:

    http://localhost:8000
    

That's it! You can now create your first board and start organizing your tasks.

🛠️ Development

Development Workflow

For continuous development with automatic rebuilding:

# Terminal 1: Run the server
./bin/focalboard-server

# Terminal 2: Watch and rebuild webapp on changes
cd webapp && npm run watchdev

Then reload your browser to see changes.

Building Components

make webapp          # Build webapp only
make server          # Build server only
make                 # Build everything
make clean           # Clean build artifacts

Configuration

The server can be configured via config.json in the project root. Key settings include:

  • port: Server port (default: 8000)
  • dbtype: Database type - sqlite3 (default), postgres, or mysql
  • dbconfig: Database connection string
  • webpath: Path to webapp bundle (default: ./webapp/pack)
  • filespath: File upload storage location (default: ./files)

For a full list of configuration options, see the example config.json in the project root. Note: server-config.json uses a relative webpath (./pack) for running the server directly from the server/ directory during development, while config.json uses ./webapp/pack for running from the project root.

🧪 Testing

Run All Tests (CI simulation)

make ci

This runs the complete test suite including:

  • Server unit tests (SQLite)
  • Webapp linting (ESLint + Stylelint)
  • Webapp unit tests (Jest)
  • Webapp E2E tests (Cypress)

Individual Test Suites

Server Tests:

make server-test-sqlite      # SQLite tests (fast)
make server-test-postgres    # PostgreSQL tests
make server-test-mysql       # MySQL tests
make server-test-mariadb     # MariaDB tests
make server-test             # All database tests

Webapp Tests:

cd webapp
npm run check                # Lint TypeScript and SCSS
npm run fix                  # Auto-fix lint issues
npm run test                 # Run Jest unit tests
npm run updatesnapshot       # Update Jest snapshots
npm run cypress:ci           # Run Cypress E2E tests

Code Quality

Linting:

cd webapp && npm run check                    # Check for issues
cd webapp && npm run fix                      # Auto-fix JS/TS issues
cd webapp && npm run fix:scss                 # Auto-fix SCSS issues
cd server && golangci-lint run ./...          # Lint Go code (requires golangci-lint: https://golangci-lint.run/usage/install/)

📁 Project Structure

bingusboard/
├── server/              # Go backend server
│   ├── main/           # Server entrypoint
│   ├── app/            # Core application logic
│   ├── api/            # HTTP API handlers
│   ├── services/       # Business services
│   ├── model/          # Data models
│   ├── auth/           # Authentication
│   └── integrationtests/ # Integration test suites
├── webapp/             # React/TypeScript web client
│   ├── src/           # UI source code
│   ├── cypress/       # E2E tests
│   └── i18n/          # Internationalization
├── docs/              # Documentation
├── config.json        # Server configuration
└── Makefile           # Build automation

🤝 Contributing

We welcome contributions! This is a community-maintained fork focused on keeping the project lean and functional.

Before contributing:

  1. Check existing issues or create a new one to discuss your idea
  2. Read CONTRIBUTING.md for guidelines
  3. Follow the coding style enforced by .editorconfig
  4. Run tests before submitting: make ci
  5. Write clear commit messages in imperative mood

See docs/ for additional development guides.

📋 Roadmap & Status

This is a work-in-progress fork focused on:

  • ✅ Maintaining the core personal server experience
  • ✅ SQLite-first storage approach
  • ✅ Web client functionality
  • ⚠️ Other features (enterprise integrations, mobile/desktop apps) may be removed

For legacy documentation and the broader Focalboard feature set, see HISTORIC-README.md.

📜 License

This project is licensed under the GNU AGPL v3.0 - see LICENSE.txt for details.

Source code in Admin Tools and Configuration Files is licensed under Apache License v2.0.


Note: Bingusboard is a fork maintained by the community. We're focused on keeping it simple, lightweight, and self-hostable. Expect rapid changes as the project evolves!