├── .dockerignore ├── .eslintrc.json ├── .gitignore ├── Dockerfile ├── README.md ├── components.json ├── fly.toml ├── next.config.js ├── package.json ├── postcss.config.js ├── prisma └── schema.prisma ├── public ├── loading.gif ├── next.svg ├── nextauth.png ├── nextjs.png ├── openai.png ├── planetscale.png ├── prisma.png ├── react-query.png ├── tailwind.png ├── trpc.png ├── typescript.png └── vercel.svg ├── src ├── app │ ├── api │ │ ├── auth │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ ├── checkAnswer │ │ │ └── route.ts │ │ ├── endGame │ │ │ └── route.ts │ │ ├── game │ │ │ └── route.ts │ │ └── questions │ │ │ └── route.ts │ ├── dashboard │ │ └── page.tsx │ ├── favicon.ico │ ├── globals.css │ ├── history │ │ └── page.tsx │ ├── layout.tsx │ ├── page.tsx │ ├── play │ │ ├── mcq │ │ │ └── [gameId] │ │ │ │ └── page.tsx │ │ └── open-ended │ │ │ └── [gameId] │ │ │ └── page.tsx │ ├── quiz │ │ └── page.tsx │ └── statistics │ │ └── [gameId] │ │ └── page.tsx ├── components │ ├── BlankAnswerInput.tsx │ ├── DetailsDialog.tsx │ ├── HistoryComponent.tsx │ ├── LoadingQuestions.tsx │ ├── MCQ.tsx │ ├── MCQCounter.tsx │ ├── Navbar.tsx │ ├── OpenEnded.tsx │ ├── OpenEndedPercentage.tsx │ ├── Providers.tsx │ ├── SignInButton.tsx │ ├── ThemeToggle.tsx │ ├── UserAccountNav.tsx │ ├── UserAvatar.tsx │ ├── WordCloud.tsx │ ├── dashboard │ │ ├── HistoryCard.tsx │ │ ├── HotTopicsCard.tsx │ │ ├── QuizMeCard.tsx │ │ └── RecentActivityCard.tsx │ ├── forms │ │ └── QuizCreation.tsx │ ├── statistics │ │ ├── AccuracyCard.tsx │ │ ├── QuestionsList.tsx │ │ ├── ResultsCard.tsx │ │ └── TimeTakenCard.tsx │ └── ui │ │ ├── avatar.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── dialog.tsx │ │ ├── dropdown-menu.tsx │ │ ├── form.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── navigation-menu.tsx │ │ ├── progress.tsx │ │ ├── separator.tsx │ │ ├── table.tsx │ │ ├── toast.tsx │ │ ├── toaster.tsx │ │ └── use-toast.ts ├── lib │ ├── db.ts │ ├── gpt.ts │ ├── nextauth.ts │ └── utils.ts └── schemas │ ├── forms │ └── quiz.ts │ └── questions.ts ├── tailwind.config.js └── tsconfig.json /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/.dockerignore -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/README.md -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/components.json -------------------------------------------------------------------------------- /fly.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/fly.toml -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/next.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/postcss.config.js -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /public/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/loading.gif -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/nextauth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/nextauth.png -------------------------------------------------------------------------------- /public/nextjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/nextjs.png -------------------------------------------------------------------------------- /public/openai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/openai.png -------------------------------------------------------------------------------- /public/planetscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/planetscale.png -------------------------------------------------------------------------------- /public/prisma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/prisma.png -------------------------------------------------------------------------------- /public/react-query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/react-query.png -------------------------------------------------------------------------------- /public/tailwind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/tailwind.png -------------------------------------------------------------------------------- /public/trpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/trpc.png -------------------------------------------------------------------------------- /public/typescript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/typescript.png -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /src/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/api/auth/[...nextauth]/route.ts -------------------------------------------------------------------------------- /src/app/api/checkAnswer/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/api/checkAnswer/route.ts -------------------------------------------------------------------------------- /src/app/api/endGame/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/api/endGame/route.ts -------------------------------------------------------------------------------- /src/app/api/game/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/api/game/route.ts -------------------------------------------------------------------------------- /src/app/api/questions/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/api/questions/route.ts -------------------------------------------------------------------------------- /src/app/dashboard/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/dashboard/page.tsx -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/globals.css -------------------------------------------------------------------------------- /src/app/history/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/history/page.tsx -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/app/play/mcq/[gameId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/play/mcq/[gameId]/page.tsx -------------------------------------------------------------------------------- /src/app/play/open-ended/[gameId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/play/open-ended/[gameId]/page.tsx -------------------------------------------------------------------------------- /src/app/quiz/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/quiz/page.tsx -------------------------------------------------------------------------------- /src/app/statistics/[gameId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/app/statistics/[gameId]/page.tsx -------------------------------------------------------------------------------- /src/components/BlankAnswerInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/BlankAnswerInput.tsx -------------------------------------------------------------------------------- /src/components/DetailsDialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/DetailsDialog.tsx -------------------------------------------------------------------------------- /src/components/HistoryComponent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/HistoryComponent.tsx -------------------------------------------------------------------------------- /src/components/LoadingQuestions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/LoadingQuestions.tsx -------------------------------------------------------------------------------- /src/components/MCQ.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/MCQ.tsx -------------------------------------------------------------------------------- /src/components/MCQCounter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/MCQCounter.tsx -------------------------------------------------------------------------------- /src/components/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/Navbar.tsx -------------------------------------------------------------------------------- /src/components/OpenEnded.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/OpenEnded.tsx -------------------------------------------------------------------------------- /src/components/OpenEndedPercentage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/OpenEndedPercentage.tsx -------------------------------------------------------------------------------- /src/components/Providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/Providers.tsx -------------------------------------------------------------------------------- /src/components/SignInButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/SignInButton.tsx -------------------------------------------------------------------------------- /src/components/ThemeToggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ThemeToggle.tsx -------------------------------------------------------------------------------- /src/components/UserAccountNav.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/UserAccountNav.tsx -------------------------------------------------------------------------------- /src/components/UserAvatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/UserAvatar.tsx -------------------------------------------------------------------------------- /src/components/WordCloud.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/WordCloud.tsx -------------------------------------------------------------------------------- /src/components/dashboard/HistoryCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/dashboard/HistoryCard.tsx -------------------------------------------------------------------------------- /src/components/dashboard/HotTopicsCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/dashboard/HotTopicsCard.tsx -------------------------------------------------------------------------------- /src/components/dashboard/QuizMeCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/dashboard/QuizMeCard.tsx -------------------------------------------------------------------------------- /src/components/dashboard/RecentActivityCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/dashboard/RecentActivityCard.tsx -------------------------------------------------------------------------------- /src/components/forms/QuizCreation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/forms/QuizCreation.tsx -------------------------------------------------------------------------------- /src/components/statistics/AccuracyCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/statistics/AccuracyCard.tsx -------------------------------------------------------------------------------- /src/components/statistics/QuestionsList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/statistics/QuestionsList.tsx -------------------------------------------------------------------------------- /src/components/statistics/ResultsCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/statistics/ResultsCard.tsx -------------------------------------------------------------------------------- /src/components/statistics/TimeTakenCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/statistics/TimeTakenCard.tsx -------------------------------------------------------------------------------- /src/components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/avatar.tsx -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/button.tsx -------------------------------------------------------------------------------- /src/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/card.tsx -------------------------------------------------------------------------------- /src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /src/components/ui/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/form.tsx -------------------------------------------------------------------------------- /src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/input.tsx -------------------------------------------------------------------------------- /src/components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/label.tsx -------------------------------------------------------------------------------- /src/components/ui/navigation-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/navigation-menu.tsx -------------------------------------------------------------------------------- /src/components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/progress.tsx -------------------------------------------------------------------------------- /src/components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/separator.tsx -------------------------------------------------------------------------------- /src/components/ui/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/table.tsx -------------------------------------------------------------------------------- /src/components/ui/toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/toast.tsx -------------------------------------------------------------------------------- /src/components/ui/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/toaster.tsx -------------------------------------------------------------------------------- /src/components/ui/use-toast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/components/ui/use-toast.ts -------------------------------------------------------------------------------- /src/lib/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/lib/db.ts -------------------------------------------------------------------------------- /src/lib/gpt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/lib/gpt.ts -------------------------------------------------------------------------------- /src/lib/nextauth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/lib/nextauth.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/schemas/forms/quiz.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/schemas/forms/quiz.ts -------------------------------------------------------------------------------- /src/schemas/questions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/src/schemas/questions.ts -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Elliott-Chong/quizmify/HEAD/tsconfig.json --------------------------------------------------------------------------------