Privat kampanjapp för Mutant: Undergångens arvtagare, byggd för en liten distansspelgrupp med spelare och spelledare/admin.
- Next.js 15 med App Router
- TypeScript
- Tailwind CSS
- Prisma
- PostgreSQL
- Hemliga personliga länkar per spelare och admin
- Åtkomst via hemliga länkar och server-side access control
Min karaktärmed autosave- Admin-dashboard med karaktärsöversikt
- Redigering av valfri karaktär som admin
- Journal med skapa/lista/ta bort
- Backup snapshots till databasen, JSON-download och JSON-import
- Seed-data för kampanj, admin, 4 spelare och exempelkaraktärer med färdiga åtkomstlänkar
Kopiera .env.example till .env och fyll i:
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/mutant_ua?schema=public"
AUTH_SECRET="replace-with-a-long-random-string"
AUTH_TRUST_HOST="true"
AUTH_URL="http://localhost:3000"AUTH_* används bara för den tillfälliga bryggan /legacy-access om ni vill växla över från gamla testkonton till länksystemet utan att låsa ute någon.
- Installera beroenden:
pnpm installpnpm install kör också prisma generate automatiskt via postinstall.
- Generera Prisma-klienten manuellt vid behov:
pnpm exec prisma generate- Kör migrering mot din lokala PostgreSQL:
pnpm exec prisma migrate dev --name init- Seeda databasen:
pnpm exec prisma db seedSeed-scriptet skriver ut adminlänken i terminalen som /access/<token>.
- Starta utvecklingsservern:
pnpm dev- Adminen och varje exempelspelare får en egen personlig åtkomstlänk.
- Adminlänken skrivs ut när seed körs.
- Spelarlänkarna kan kopieras från adminpanelen under
Åtkomstlänkar.
- Skapa ett nytt Railway-projekt.
- Lägg till en PostgreSQL-databas.
- Sätt miljövariablerna ovan i Railway.
- Använd följande kommandon:
Build command: pnpm build
Start command: pnpm start- Kör migrering efter första deployen:
pnpm exec prisma migrate deploy
pnpm exec prisma db seedEfter seed:
- öppna adminlänken som skrivs ut i loggarna
- kopiera spelarlänkar från adminpanelen
- använd
Backup snapshotsför JSON-download ochLäs in backupför att återställa en uppladdad backup
Projektet innehåller en liten wrapper i scripts/run-next.mjs som hjälper Next att använda wasm-SWC när native SWC-binären inte går att ladda från en extern volym. Det minskar vanliga macOS-problem när projekt ligger under /Volumes/....
- Förbättra live sync med tydligare polling/status per vy
- Lägg till inline-redigering av journalposter
- Förfina adminöversikten med filter och snabbare statushantering
- Verifiera och justera reglerna i
lib/rules.tsmot exakt Mutant UA-regeltext