Database

Table Ownership Map

A map of every DynamoDB table to the services that create, read, and write records in it. Use this to trace data flow when debugging or planning changes.


Core Tables

biztechUsers

User accounts. Primary key: id (email).

ServiceAccessNotes
usersRead + WriteOwner. CRUD for user records
paymentsRead + WriteReads isMember for pricing tier; writes on membership payment
registrationsReadReads user data for email sending
membersWritegrantMembership sets isMember: true
transactionsReadValidates user existence before creating transaction

biztechEvents

Events. Primary key: id + year.

ServiceAccessNotes
eventsRead + WriteOwner. CRUD, feedback config
registrationsReadReads event for capacity check and email details
paymentsReadReads pricing for checkout session
usersReadReads for favourite event validation
partnershipsReadReads event names for link hydration
interactionsReadReads event dates for connection filtering

biztechRegistrations

Event registrations. Primary key: id (email) + eventID;year.

ServiceAccessNotes
registrationsRead + WriteOwner. Create, update, delete registrations
paymentsRead + WriteReads for event payment; writes registrationStatus via webhook
eventsReadCounts registrations via GSI event-query
profilesRead + WritesyncPartnerData reads/writes registration data

biztechMembers2026

Club members. Primary key: id (email).

ServiceAccessNotes
membersRead + WriteOwner. CRUD for member records
paymentsWriteCreates member record on membership payment
profilesRead + WriteReads member for profile creation; writes profileID
interactionsReadLooks up profileID for connection handling
botsRead + WriteDiscord mapping reads member, writes discordId

biztechProfiles

Profiles and connections. Primary key: id (PROFILE#<id>) + eventID;year.

ServiceAccessNotes
profilesRead + WriteOwner. Profile CRUD, company profiles
interactionsRead + WriteReads profiles for validation; writes CONNECTION# rows
membersWrite (indirect)grantMembership calls createProfile() which writes here
paymentsWrite (indirect)Webhook calls createProfile() which writes here

Companion & Gamification Tables

biztechTeams

Teams per event. Primary key: eventID;year + id.

ServiceAccessNotes
teams (interactions)Read + WriteTeam CRUD
btxReadMaps teamId → projectId for investment impact

biztechQRs

QR codes per event. Primary key: eventID;year + id.

ServiceAccessNotes
qr (interactions)Read + WriteQR code CRUD
profilesWriteCreates QR entry when creating partner/company profiles

biztechQuests

Quest progress. Primary key: id (email) + eventID;year.

ServiceAccessNotes
quests (interactions)Read + WriteQuest completion tracking

biztechQuizzes

Quiz results. Primary key: id + eventID;year.

ServiceAccessNotes
quizzes (interactions)Read + WriteQuiz submission and results

biztechInvestments

Kickstart investments. Primary key: id (UUID) + eventID;year.

ServiceAccessNotes
investments (interactions)Read + WriteInvestment tracking

biztechPrizes

Prize catalog. Primary key: id.

ServiceAccessNotes
prizesRead + WritePrize CRUD

biztechTransactions

Credit ledger. Primary key: id (UUID).

ServiceAccessNotes
transactionsRead + WriteTransaction create, balance queries

Event Feedback Table

biztechEventFeedback

Feedback submissions. Primary key: id (UUID).

ServiceAccessNotes
eventsRead + WriteSubmit and query feedback via GSI event-form-query

Connection & Real-Time Tables

bizConnections

Legacy connection records.

ServiceAccessNotes
connections (interactions)Read + WriteLegacy connection CRUD

bizWallSockets

WebSocket connections for the live connection wall.

ServiceAccessNotes
interactionsRead + WriteWall WebSocket management

bizLiveConnections

Recent connections for wall animation (with TTL).

ServiceAccessNotes
interactionsRead + WriteLogged on each new connection, queried for wall replay

bizSockets / bizStickers / bizScores / bizFeedback / bizJudge

Judging and voting system tables.

ServiceAccessNotes
interactionsRead + WriteJudging portal real-time features

BTX Tables

bizBtxProjects, bizBtxAccounts, bizBtxHoldings, bizBtxTrades, bizBtxPrices

All owned by the btx service. See BTX Database & API for details.

bizBtxSockets

WebSocket connections for real-time price updates. Owned by btx.


Partnerships Tables

biztechPartners, biztechPartnerEventLinks, biztechPartnershipEvents, biztechPartnerDocuments, biztechPartnerCommunications, biztechPartnershipsMeta

All owned by the partnerships service. See Partnerships Data Model for details.


Instagram Table

biztechInstagramAuth

Single-record table storing the Instagram access token.

ServiceAccessNotes
instagramRead + WriteToken storage and refresh

Environment Suffix Reminder

All table names get the ENVIRONMENT suffix appended at runtime by lib/db.js. Production tables end with PROD (e.g., biztechUsersPROD). Dev and staging share the same tables (empty suffix).


Previous
Schemas & Access Patterns