📄️ Overview
This section documents the database models used, powered by Prisma and PostgreSQL.
📄️ Boss
The Boss model represents a boss entity. Bosses are linked to worlds and their progress is tracked via the WorldBossProgress model.
📄️ Event
The Event model represents scheduled events within a world. Events are created by users and can be joined (RSVP’d) by other users.
📄️ EventRSVP
The EventRSVP model tracks which users have RSVP’d (joined) specific events within a world. Each record represents a user's attendance for a particular event.
📄️ JoinCode
The JoinCode model represents a unique code that allows users to join a specific world. Each world has one join code, and each join code is associated with only one world.
📄️ Note
The Note model represents notes created by users within worlds. Notes can be used for strategies, reminders, or any information relevant to a world.
📄️ User
The User model represents an individual account. Users can create worlds, join worlds, participate in events, RSVP to events, and author notes.
📄️ World
The World model represents a game world. Worlds are created by users and can have members, bosses, notes, events, and a unique join code.
📄️ WorldBossProgress
The WorldBossProgress model tracks the progress (killed state) of each boss within a specific world. This allows the backend to record which bosses have been defeated in each world.
📄️ WorldMembership
The WorldMembership model links users to worlds and assigns them a specific role (OWNER, ADMIN, SUB_ADMIN, MEMBER). This model is essential for managing permissions and access within each world.