sendou.ink docs
The repo's markdown docs and the living docs generated from the code: every feature's core modules, repositories, e2e tests and routes, the components, database tables and lint rules. Runs locally with pnpm dev:docs, see Living docs.
Contributor docs
ArchitectureHow the app runs in production and how a feature folder is laid out.
Custom Theme SystemThe theme tokens and how custom theme colors are generated.
Database schemasHow columns are typed: booleans, timestamps, JSON and enums.
Discord authSetting up Discord login for local development.
FormsThe schema-based SendouForm system and defining actions.
How a request flowsOne request followed through every layer of the app.
How to...Recipes for common tasks like adding a migration or a route.
Living docsHow this site is built and how to write code that documents well.
OverlaysPopovers, menus, selects and dialogs: scroll lock and mobile keyboards.
PermissionsGlobal roles and per-object permissions, and where a new check goes.
RepositoriesWhere database queries live and the conventions they follow.
ScriptsOne-off admin scripts for running the site in production.
Search paramsDeclaring URL search params once for loaders, client state and links.
TranslationTranslating the site and editing the translation files.
Project
Guides
Public API
OverviewHow to get a token and the rules of using the API.
EndpointsEvery endpoint with its types and real example requests.
Reference
RoutesEvery route and the e2e tests that render it.
Database tablesThe tables and views of the database and how they relate.
Lint rulesThe repo's own Biome lint rules.
PermissionsThe roles and per-object permissions each feature checks.
Search params & storageEvery search param and web storage definition.
Background workScheduled routines, machine endpoints, webhooks and notifications.
Environment variablesEvery environment variable and where the code reads it.
Package scriptsEvery script of package.json and what it runs.
ComponentsThe shared UI components, rendered live.
Features
Admin5 e2e tests2/2 routesApi1/1 routeApi private0/6 routes
Art2 e2e tests1/2 routes
Articles2/2 routes
Associations1 module4 e2e tests2/2 routesAuth3 modules4 e2e tests1/8 routesAvailability10 modules8 e2e tests1/1 route
Badges1 e2e test3/3 routesBan2 e2e tests1/1 route
Build analyzer3 e2e tests1/1 route
Build stats2/2 routes
Builds8 e2e tests2/2 routes
Calendar3 modules11 e2e tests5/6 routesChat9 modules16 e2e tests0/5 routes
Comp analyzer3 modules4 e2e tests1/1 routeEvents3 modules0/2 routesFriends6 e2e tests1/1 routeFront page2 modules1/2 routesGlobal status0/1 routeHealth0/1 routeImage export2 modulesImg upload1/1 routeInfo4/4 routesLayout0/2 routes
Leaderboards1 e2e test1/1 route
LFG4 e2e tests2/2 routes
Links1/1 routeLive streams2 modules
Map list generator1 module5 e2e tests1/1 route
Map planner1 module1/1 routeMatch profileMMR1 moduleNotifications1 e2e test1/4 routes
Object damage calculator5 e2e tests1/1 routeParams1 module2 e2e tests1/1 route
Plus suggestions4/4 routes
Plus voting1 module3 e2e tests2/3 routesPublic API18 e2e tests0/23 routes
Scanner3 modules14 e2e tests1/1 route
Scanner ingest3 modules0/1 route
Scrims2 modules12 e2e tests3/3 routesSearch2 e2e tests0/1 route
SendouQ1 module16 e2e tests7/9 routes
SendouQ match3 modules13 e2e tests1/1 route
SendouQ streams1/1 route
Settings9 e2e tests1/1 routeSidebar1 module25 e2e testsSite-wide13 e2e testsSplatoon rotations
Team14 e2e tests7/7 routesTheme1 module0/1 route
Tier list maker3 e2e tests1/1 route
Top search2 e2e tests1/2 routes
Tournament3 modules23 e2e tests9/12 routes
Tournament admin9 e2e tests9/10 routes
Tournament bracket11 modules35 e2e tests3/3 routes
Tournament lfg3 e2e tests1/1 route
Tournament match1 module2/2 routes
Tournament organization2 modules5 e2e tests4/4 routes
Tournament subs0/1 routeTranslate6 modules2 e2e tests2/3 routes
Trophies2 modules6 e2e tests3/7 routesUser activity1 module
User card5 e2e tests1/3 routes
User page1 module14 e2e tests14/16 routes
User report3 e2e tests0/1 route
Vods4 e2e tests3/3 routesVoice6 modules0/4 routes