QWIZ
App for building pub quizzes
?️
API Documentation
https://documenter.getpostman.com/view/15639222/UyrDCvUG
Installation and running locally
Clone the repo
git clone https://github.com/qwiz-app/qwiz.git qwiz
cd qwiz
Install compatable Node version and deps
node -v #16.13.2
npm i
Start the frontend server
npm run frontend
Start the backend server
npm run backend
Tech Stack
Client: Next.js, Typescript, Mantine, React Query, Zustand, Formik, Next Auth, Framer Motion
Server: Nest.js, PlanetScale (MySQL)
API and Tools: AWS SES, S3 and Lambda, Plausible Analytics, NX, Sentry, Uptime Kuma
Environment Variables
To run this project, add the following environment variables to your .env.local file in apps/frontend dir
NEXTAUTH_URL=http://localhost:4200
GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
GOOGLE_CLIENT_SECRET
GOOGLE_CLIENT_SECRET
NEXT_PUBLIC_GOOGLE_MAPS_KEY
SECRET={openssl rand -base64 32}
NEXTAUTH_SECRET={openssl rand -base64 32}
NEXT_PUBLIC_PLAUSIBLE_DOMAIN={domain url without protocol}
NEXT_PUBLIC_PLAUSIBLE_URL={domain url}
NEXT_PUBLIC_PLAUSIBLE_API_KEY=
SENTRY_DSN=
NEXT_PUBLIC_SENTRY_DSN=
SENTRY_IGNORE_API_RESOLUTION_ERROR=1
NEXT_PUBLIC_AWS_BUCKET_URL=
AWS_IMG_ROOT={bucket url without protocol}
AWS_SES_REGION=
SMTP_USER=
SMTP_PASS=
SMTP_FROM=
.env file in root dir (for Prisma)
DATABASE_URL="DATABASE_URL="mysql://url"
And .env file in apps/backend dir
AWS_BUCKET_ACCESS_KEY=
AWS_BUCKET_SECRET_KEY=
AWS_BUCKET_NAME=
AWS_BUCKET_REGION=
AWS_BUCKET_URL=