Crackit is a web application that allows users to create, share, and take quizzes. It is built with Next.js, Supabase, and Tailwind CSS.
- User Authentication: Users can sign up and sign in to their accounts.
- Create Quizzes: Users can create quizzes by providing a topic or by uploading a file.
- Take Quizzes: Users can take quizzes created by other users.
- Save and Share Quizzes: Users can save quizzes and share them with others.
- Review and Rate Quizzes: Users can review and rate quizzes.
-
Clone the repository:
https://github.com/tankit03/Crackit.git
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.localfile in the root directory and add the following environment variables:NEXT_PUBLIC_SUPABASE_URL=<your-supabase-url> NEXT_PUBLIC_SUPABASE_ANON_KEY=<your-supabase-anon-key>You can get these values from your Supabase project settings.
To run the development server, use the following command:
npm run devThis will start the development server on http://localhost:3000.
To build the application for production, use the following command:
npm run buildThis will create a production-ready build in the .next directory.
npm run dev: Starts the development server.npm run build: Builds the application for production.npm run start: Starts the production server.
- Next.js: A React framework for building server-side rendered and static web applications.
- Supabase: An open-source Firebase alternative for building secure and scalable applications.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom user interfaces.
- Radix UI: A collection of accessible and unstyled UI components.
- Lucide React: A library of beautiful and consistent icons.
- Geist: A modern and minimalist font.
- Next Themes: A library for adding dark mode to your Next.js application.
- Sonner: A toast library for React.
- date-fns: A modern JavaScript date utility library.
- react-confetti: A React component for rendering confetti.
- react-use: A collection of useful React hooks.
- mammoth: A library for converting
.docxfiles to HTML. - jszip: A library for creating, reading, and editing
.zipfiles. - xmldom: A JavaScript implementation of the W3C DOM.
- @google/generative-ai: Google's generative AI SDK.
- convertapi: A file conversion API.
Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.