Generate smart, AI-powered quizzes instantly using Google's Gemini AI
Built with React, Firebase, and Netlify β a next-gen learning experience!
π Live Site: https://jinsu-quizify-ai.netlify.app
- β¨ Features
- π οΈ Tech Stack
- π Getting Started
- βοΈ Installation & Setup
- π₯ Firebase Configuration
- βοΈ Google Cloud Configuration
- π Netlify & Environment Variables
- π Deployment
- π¨βπ» Creator
- Uses Google Gemini AI to create context-aware quizzes.
- Generate quizzes from any topic.
- Upload text files (.txt, .csv) to auto-generate questions.
- Number of Questions: 1β100
- Choices per Question: 2β10
- Difficulty Levels: Easy, Moderate, Hard
- Time per question (seconds)
- Time for entire quiz (minutes)
- Option for no timer
- Email/Password signup & login
- Social Login via Google & GitHub
- Guest Mode (no login required)
- View quiz stats (total quizzes, average score)
- Upload custom profile picture
- Stores completed quizzes for logged-in users
- Review answers: correct vs selected
- Dedicated section recognizing the developer
- Installable Progressive Web App
- Dark theme using Tailwind CSS
| Component | Technology |
|---|---|
| Frontend | React (CRA + CRACO), Tailwind CSS |
| Backend | Netlify Functions (Serverless Node.js) |
| AI Integration | Google Gemini API |
| Authentication | Firebase Authentication |
| Database | Firebase Firestore |
| Deployment | Netlify |
Follow these steps to set up and run the project locally.
- Node.js (v18 or later)
- npm (comes with Node.js)
- Git
- Firebase Account
- Google Cloud Account (Gemini API Key with Billing Enabled)
- Netlify Account
git clone https://github.com/jinsu-2005/quizify.git
cd quizify
npm install
cd netlify/functions
npm install busboy node-fetch@2
cd ../..
- Go to your Firebase project settings β Register a Web App.
- Copy the
firebaseConfigobject. - Paste it into the
firebaseConfigvariable in src/App.jsx. - Enable these Firebase services:
- Authentication (Email/Password, Google, GitHub, Anonymous)
- Firestore Database
Authentication Settings:
- Add
localhostunder Authorized domains. - Set User account linking β βLink accounts that use the same emailβ.
- Link your Firebase project to Google Cloud.
- Enable APIs:
- Generative Language API
- Cloud Firestore API
- Link your project to a Billing Account.
- Generate your Gemini API Key under
APIs & Services β Credentials β Create API Key. - Configure OAuth consent screen β Add required scopes and publish.
Create a .env file in your root directory:
GEMINI_API_KEY=AIzaSy...YourSecretKey...
Run the app locally:
netlify dev
Then open π http://localhost:8888
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/jinsu-2005/quizify.git
git push -u origin main
netlify init
- Build command:
npm run build - Publish directory:
build - Functions directory:
netlify/functions
Go to
Netlify β Site configuration β Build & deploy β Environment variables
Add your GEMINI_API_KEY.
git add .
git commit -m "Deploy latest changes"
git push
| Detail | Info |
|---|---|
| Name | Jinsu J |
| Role | Developer & Student (3rd Year B.Tech IT) |
| GitHub | jinsu-2005 |
| Jinsu .J | |
| jinsu.j2005@gmail.com | |
| Project Started | October 2025 |
Built with β€οΈ by Jinsu J β Empowering Learning with AI π