Andor2 is a comprehensive web application for playing tabletop role-playing games (TTRPGs) online. It supports multiple game systems and provides a full-featured platform for game masters and players to create, manage, and play RPG campaigns collaboratively.
The platform is primarily targeted at Czech-speaking TTRPG players but supports international use with multiple game systems.
- Authentication: Email and Google OAuth login
- Game Management: Create and manage RPG campaigns
- Character Management: Player characters with detailed profiles
- Game Threads: Structured game session posts with filtering and whispered posts
- Dice Rolling: Integrated 3D dice system with sound effects
- Interactive Maps: Upload and manage campaign maps
- Codex: Game information database with sections and pages
- Discussion Boards: Meta-gaming chat and general discussion threads
- General Chat: Real-time messaging
- Direct Messages: User-to-user and character-to-character messaging
- Solo Games: AI-powered solo adventures
- User Works: Community content including short stories, images, and music
- Dungeons & Dragons 5th Edition (D&D 5e)
- Vampire: The Masquerade 5th Edition
- Dračí doupě 1.6 (Czech system)
- Cyberpunk 2020
- Call of Cthulhu
- Warhammer
- Shadowrun
- Pathfinder
- GURPS
- Fate
- Savage Worlds
- Dungeon World
- And many more...
- AI Storyteller Assistant for game masters
- Multiple AI providers: OpenAI, Google Gemini, AIML, Replicate, DeepSeek
- Intelligent NPC generation and management
- Astro: Static site generation and server-side rendering
- Svelte: Reactive UI components
- TipTap: Rich text editor
- PixiJS: Canvas rendering for maps and graphics
- 3D Dice: WebGL dice rolling simulation
- Astro Server: API routes and server-side logic
- Supabase: PostgreSQL database, authentication, and storage
- Cloudflare Workers: Serverless hosting and edge computing
- Vite: Fast build tool and dev server
- ESLint: Code linting
- Prettier: Code formatting
- Sentry: Error monitoring and performance tracking
- Database & Auth: Supabase
- Hosting: Cloudflare Pages/Workers
- Email: Amazon SES
- AI Providers: OpenAI, Google Gemini, AIML, Replicate, DeepSeek
- Push Notifications: OneSignal
- CAPTCHA: Cloudflare Turnstile
- Node.js (v18 or higher)
- npm or yarn
- Supabase CLI (for local development)
- Clone the repository:
git clone https://github.com/AndorCz/andor2.git
cd andor2- Install dependencies:
npm install-
Set up environment variables: Copy
.envand configure your API keys and secrets. -
Start Supabase locally (optional for development):
npm run db- Sync database schema:
npm run sync- Start the development server:
npm run devThe application will be available at http://localhost:4321.
| Command | Description |
|---|---|
npm install |
Install dependencies |
npm run dev |
Start development server at localhost:4321 |
npm run build |
Build production site to ./dist/ |
npm run preview |
Preview production build locally |
npm run db |
Start local Supabase instance |
npm run functions |
Serve Supabase Edge Functions locally |
npm run sync |
Sync database schema with local Supabase |
npm run astro ... |
Run Astro CLI commands |
src/
├── components/ # Reusable Svelte components
├── layouts/ # Astro page layouts
├── lib/ # Utility libraries and stores
├── pages/ # Astro pages and API routes
├── prompts/ # AI system prompts for different games
├── db/ # Database schema and policies
└── ...
public/ # Static assets
supabase/ # Supabase configuration and migrations
This project is licensed under GPL v3. See LICENSE.md for details.
The application is configured for deployment on Cloudflare Pages with Workers. Use npm run build to generate the production build, then deploy the dist/ directory.
For local Cloudflare development:
npm run dev-cloudflare