No description
  • JavaScript 42.3%
  • TypeScript 35.9%
  • Python 20%
  • Batchfile 0.7%
  • Shell 0.6%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Pablo 7b743053cf
All checks were successful
Build and Publish Containers / build-and-push (push) Successful in 11s
Mirror to GitHub / mirror (push) Successful in 8s
Merge pull request 'Fix: login to dashboard (0.147.2), lists rework (0.148.0), preorder details (0.149.0), list performance (0.149.1)' (#109) from staging into main
Reviewed-on: #109
2026-10-30 07:45:38 -05:00
.agent/skills/impeccable verbiage 2026-10-29 19:39:27 -05:00
.claude verbiage 2026-10-29 19:39:27 -05:00
.forgejo/workflows -q 2026-10-29 19:45:11 -05:00
backend Fix: lists need a fixed number of queries, are paged, and have indexes (0.149.1) 2026-10-30 07:26:52 -05:00
docs Fix: lists need a fixed number of queries, are paged, and have indexes (0.149.1) 2026-10-30 07:26:52 -05:00
frontend Fix: lists need a fixed number of queries, are paged, and have indexes (0.149.1) 2026-10-30 07:26:52 -05:00
releases new feats 2026-08-03 14:47:57 -05:00
scripts Fix: remove unused Gemini/GSD agent scaffolding (B-01) (1.40.12) 2026-10-27 13:29:36 -05:00
.env.example Fix: sign-in and claim endpoints are rate limited, with limits shared across instances (0.140.16) 2026-10-26 19:32:23 -05:00
.gitignore Remove leftover SQLite references (gitignore patterns, stale comment) 2026-10-11 20:19:48 -05:00
.vercelignore vercell test 2026-10-03 12:19:26 -05:00
AUDIT_FINDINGS.md Fix: sign-in and claim endpoints are rate limited, with limits shared across instances (0.140.16) 2026-10-26 19:32:23 -05:00
docker-compose.yml postgres 2026-01-18 00:24:37 -06:00
Dockerfile Fix: upgrade backend dependencies (FastAPI 0.162, Starlette 1.10), pin versions, Python 3.12 (1.37.4) 2026-10-24 17:50:18 -05:00
PERF_AUDIT.md optimization 2026-10-05 10:03:19 -05:00
PRODUCT.md verbiage 2026-10-29 19:39:27 -05:00
README.md Rate-limit BGG endpoints, refresh README and install docs (#41, #49, #50) 2026-10-11 20:36:56 -05:00
RELEASE_NOTES.md Fix: lists need a fixed number of queries, are paged, and have indexes (0.149.1) 2026-10-30 07:26:52 -05:00
vercel.json optimization 2026-10-05 10:03:19 -05:00
VERSION Fix: lists need a fixed number of queries, are paged, and have indexes (0.149.1) 2026-10-30 07:26:52 -05:00

Thursday - Board Game Group Manager

Thursday is a comprehensive web application designed to manage board game groups, track play sessions, sync collections from BoardGameGeek (BGG), and handle event scheduling. It bridges the gap between casual group coordination and detailed stat tracking.

Note

: This project was architected and built using advanced AI agents, guided by a seasoned software developer.


🚀 Features

👤 User & Profile Management

  • Passwordless Login: Sign in with Telegram, Discord or Email magic links (Resend). All three resolve to one account, and identities can be linked and merged from Settings.
  • Profile Customization: Set display names, avatars, and link your BGG Username.
  • Flexible Identity: Email is optional. An address only counts for login or merging once its owner has verified it.
  • Collections: Sync your board game collection directly from BGG, including metadata like Rating, Weight (Complexity), Player Counts, and Play Time.
  • Want to Play: Signal your interest by voting for games (Group-specific or Global), aggregating "Top Requested" stats for the group.
  • Game Lists: Create private, group or public lists of games with notes, and optionally let others edit them.
  • Game Resources: Maintain links for Video Tutorials, Rulebooks, and Player Aids for your games. View them in sessions and see community suggestions.

👥 Group Management

  • Authenticated & Anonymous Groups: Create groups permanently linked to your account, or "Anonymous" groups linked to your browser session.
  • Secure Claiming: Anonymous groups can be securely claimed and transferred to a persistent user account.
  • Magic Links: Share read-only views or claim links for groups using secure, generated URLs.
  • Member Sync: "Group Sync" feature updates collections for all members in a group with a single click.

🎲 Play Tracking

  • Factions Support: Track factions, characters, or corp ids used in games. Includes history-based autocomplete suggestions for each game.
  • Structured Records: All plays are strictly linked to a Group to ensure organized history.
  • Flexible Scoring: Support for both Points (High score wins) and Rank-based (Low rank wins) games.
  • Auto-Winner Calculation: Automatically determines the winner based on the chosen scoring logic.
  • Dashboard & Trophies: Visual dashboard highlighting recent plays, winners, and user rankings.

📅 Event Scheduling

  • Calendar Integration: Native events plus optional Google Calendar sync.
  • Tabletop Time Polls: Hand off "find a time" polls to Tabletop Time and receive the result by webhook.
  • RSVP Tracking: Visual grouping of attendees (Going, Maybe, No).
  • Game Overrides: designate specific games for specific calendar events.

🛠️ Technical Stack

This project works as a unified monorepo built with modern technologies:

  • Frontend:
    • React (TypeScript) with Vite for build tooling.
    • Material UI (MUI) for a polished, responsive, dark-themed design.
    • Axios for robust API communication.
  • Backend:
    • Python (FastAPI): High-performance async API.
    • PostgreSQL (asyncpg): Persistent storage. Works with the bundled Docker Postgres or a hosted one such as Supabase.
  • Deployment: One Docker image (backend serves the built frontend), published to the Forgejo registry. A Vercel deployment is also supported (vercel.json).

📚 Documentation

For detailed guides on how to use every feature of Thursday, please consult our documentation:

Introduction & Features

Installation Guide (Docker, env vars, migrations, dev setup)

Permissions & Roles

Feature Deep Dives


🙏 Acknowledgements

A special thank you to Mels0n, the creator of Tabletop Scheduler, for collaborating with us on the webhook integration standard. This partnership allows Thursday users to leverage the best scheduling tools available while maintaining their detailed play history.