How gavinhos60/rpg-de-mesa works
This is a tabletop RPG campaign and play platform: users authenticate, build characters, organize campaigns and players, then run shared game sessions. The frontend also exposes campaign tools for shops, notes and Papiros documents. The backend is an Express API with domain services and Prisma persistence, plus a Socket.IO game gateway. The tree and excerpts establish these product areas, but README content is absent and most subsystem implementations were not sampled; uncertain internal wiring is therefore omitted.
Main entry points: prisma.ts Application database · App.tsx Application routes · api.ts HTTP client · CharacterSheet.tsx Character pages
Components 25
Player interface
- Application routes
frontend/src/App.tsx - Login UI
frontend/src/pages/Login.tsx - Campaign pages
frontend/src/pages/Campaign.tsx - Character pages
frontend/src/pages/CharacterSheet.tsx - Game room
frontend/src/pages/GameRoom.tsx - Play controls
frontend/src/components/game/GameBoard.tsx - Shop screens
frontend/src/components/game/ShopBrowser.tsx
Character rules
- RPG rules data
frontend/src/data/dnd/characterCreation.ts - Character client
frontend/src/services/character.service.ts
Campaign API
- Auth client
frontend/src/services/auth.service.ts - HTTP client
frontend/src/services/api.ts - HTTP server
backend/src/server.ts - Character routes
backend/src/routes/characters.routes.ts - Character handlers
backend/src/controllers/characters.controller.ts - Character operations
backend/src/services/characters.service.ts - Identity service
backend/src/services/auth.service.ts - Campaign domains
backend/src/services/campaigns.service.ts - Shop operations
backend/src/services/mercado.service.ts - Campaign notes
backend/src/services/notes.service.ts - Shared documents
backend/src/services/papiros.service.ts
Game runtime
- Session operations
backend/src/services/sessions.service.ts - Board state
backend/src/lib/gameTypes.ts - Live game gateway
backend/src/socket/game.gateway.ts
Other components
- Player or GM
- Application database
backend/src/lib/prisma.ts
Connections 26
- Player or GM → Application routes: uses
- Application routes → Login UI: routes to
- Application routes → Campaign pages: routes to
- Application routes → Character pages: routes to
- Application routes → Game room: routes to
- Login UI → Auth client: requests auth
- Auth client → HTTP client: sends requests
- Character pages → Character client: requests character data
- Character pages → RPG rules data: uses rules
- Game room → Play controls: renders
- Campaign pages → HTTP client: requests campaign data
- Shop screens → HTTP client: requests shop data
- HTTP client → HTTP server: HTTP requests
- HTTP server → Character routes: mounts routes
- Character routes → Character handlers: dispatches
- Character handlers → Character operations: calls
- Identity service → Application database: reads and writes
- Character operations → Application database: reads and writes
- Campaign domains → Application database: reads and writes
- Shop operations → Application database: reads and writes
- Session operations → Application database: reads and writes
- Session operations → Board state: normalizes state
- HTTP server → Live game gateway: attaches socket
- Game room → Live game gateway: live game events
- Campaign notes → Application database: reads and writes
- Shared documents → Application database: reads and writes