SchellingBoard developer documentation

SchellingBoard is a Next.js scheduling app for participant-driven events — attendees propose sessions, vote on them, and the accepted ones are scheduled onto a grid of rooms and time slots. It is self-hosted, backed by a single SQLite file, and documented for its users at docs.schellingboard.org.

This site is for people working on it. It tracks main, so it describes the code as it is now rather than the last release; a contributor on a release branch reads that branch’s docs/dev/ in the repository.

Start here

Chapter For
Getting started stack, prerequisites, setup, env vars, the dev commands
Coding guidelines code style, when to write a comment, the colour tokens, the authorization rule
Testing test strategy, TDD workflow, running tests, the Docker tier
Version control commit conventions, pull requests, issues
Changelog what belongs in CHANGELOG.md and in the in-app release notes

Reference

Chapter For
Architecture rules the conventions the build enforces, and how to add one
Database migrations generating migrations, resolving drizzle conflicts
Running multiple instances ports and env files when several clones share a machine
Documentation and the sites how the three published sites are built
Releasing a new version tagging, the release checklist, publishing Docker images
GitHub issues setting Issue Type and Priority via gh api graphql

Design

Chapter For
ADRs why the significant decisions were made
Target architecture the from-scratch design proposal: levels 0–3, decisions, C4 diagrams
Diagram explorer the same C4 model, browsable — every view, with drill-down
Attendance model predicting how many people show up to a session, from its voting results
Matrix chat feasibility exploratory notes on integrating a Matrix chat server — not yet decided

Elsewhere