Skip to content

dotangad/sudocrypt

Repository files navigation

Sudocrypt 2020

Platform for Sudocrypt 2020, a map-based text adventure. Built with Next.js, next-auth, Prisma and MySQL.

Setup

  • Install mysql and node.
  • Clone the repositories and install dependencies.
git clone https://github.com/dotangad/sudocrypt
cd sudocrypt
yarn
  • Go over to the Discord dev portal and create an app. Add https://localhost:3000/api/auth/callback/discord as a valid redirect URI and copy the client ID and secret.
  • Fill out the .env.local file with the following values.
DATABASE_URL=                         # MySQL connection URL
AUTH_SECRET=                          # Random string for authentication
NEXTAUTH_URL="http://localhost:3000"  # URL where your app is running (this is used to generate the callback URL by next-auth)
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
  • Run database migrations.
DATABASE_URL=<your database url> yarn prisma migrate up --experimental
  • Start the app.
npm run dev
  • You should have a local version of Sudocrypt v10.0 at https://localhost:3000 🎉.

TODO

  • Command handler and TUI
  • OpenLevel and answering
  • Movement commands
  • Level points
  • Teleport functionality
  • Leaderboard
  • Admin prop on UserMeta
  • Exun prop on UserMeta
  • Admin pages
  • DQ functionality
  • Leaderboard blanks
  • Submit empty command
  • Locked levels
  • Answer flagging
  • Scrolling
  • Streamline status command
  • Remove leaderboard - keep only rank in the me command
  • Add map to website
  • Explainer doc
  • Add levels
  • Move to prod