- JavaScript 42.3%
- TypeScript 35.9%
- Python 20%
- Batchfile 0.7%
- Shell 0.6%
- Other 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .agent/skills/impeccable | ||
| .claude | ||
| .forgejo/workflows | ||
| backend | ||
| docs | ||
| frontend | ||
| releases | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| .vercelignore | ||
| AUDIT_FINDINGS.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| PERF_AUDIT.md | ||
| PRODUCT.md | ||
| README.md | ||
| RELEASE_NOTES.md | ||
| vercel.json | ||
| VERSION | ||
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
- Authentication & Security: How Telegram, Discord and email login work, plus sessions and account merging.
- Group Management: Creating groups, inviting members, and syncing libraries.
- Collection Management: Syncing BGG collections and using filters.
- Play Tracking: Recording sessions, scoring modes, and analytics.
- Scheduling & Calendars: Using the Planner and syncing Google Calendar.
- Game Resources: Sharing rulebooks, videos, and player aids.
- External Integrations: Using Tabletop Time for advanced scheduling polls.
🙏 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.