Skip to content
/ qwiz Public

🍻 Platform for creation, organization & discovery of pub quizzes.

License

Notifications You must be signed in to change notification settings

qwiz-app/qwiz

Repository files navigation

Qwiz ✌🏻

Next JS NestJS TypeScript React Query Prisma Nx

Contributors Forks Stars Issues


Qwiz is a platform for creation, organization & discovery of pub quizzes.



Project built for the TVZ Mc2 2022 student competition - one of the biggest project-based student programming competitions in Croatia.


🎤 Pitch deck

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 UI, React Query, Formik, Framer Motion, Zustand, Next Auth

  • Server: Nest.js, Prisma, PlanetScale (MySQL)

  • Tooling: NX, Vercel, Hetzner, AWS SES, S3 and Lambda, Plausible Analytics, Sentry, Uptime Kuma

Environment Variables

To run this project, add the following environment variables to your project

# .env
DATABASE_URL="DATABASE_URL="mysql://url"
# apps/frontend/.env.local
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=
PUPPETEER_SECRET={openssl rand -base64 32}
# apps/backend/.env
AWS_BUCKET_ACCESS_KEY=
AWS_BUCKET_SECRET_KEY=
AWS_BUCKET_NAME=
AWS_BUCKET_REGION=
AWS_BUCKET_URL=
PUPPETEER_SECRET={openssl rand -base64 32}
FRONTEND_URL=http://localhost:4200`