Skip to content

jinsu-2005/Quizify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Quizify - AI Quiz Generator 🧠✨

Generate smart, AI-powered quizzes instantly using Google's Gemini AI
Built with React, Firebase, and Netlify β€” a next-gen learning experience!

GitHub Stars License

Netlify Status

πŸ”— Live Site: https://jinsu-quizify-ai.netlify.app


🧭 Table of Contents


✨ Features

πŸš€ AI-Powered Quiz Generation

  • Uses Google Gemini AI to create context-aware quizzes.

🧾 Multiple Input Modes

  • Generate quizzes from any topic.
  • Upload text files (.txt, .csv) to auto-generate questions.

βš™οΈ Customizable Quizzes

  • Number of Questions: 1–100
  • Choices per Question: 2–10
  • Difficulty Levels: Easy, Moderate, Hard

⏰ Flexible Timer Options

  • Time per question (seconds)
  • Time for entire quiz (minutes)
  • Option for no timer

πŸ” User Authentication

  • Email/Password signup & login
  • Social Login via Google & GitHub
  • Guest Mode (no login required)

πŸ‘€ User Profiles

  • View quiz stats (total quizzes, average score)
  • Upload custom profile picture

🧠 Quiz History & Review

  • Stores completed quizzes for logged-in users
  • Review answers: correct vs selected

❀️ Creator Credits

  • Dedicated section recognizing the developer

πŸ“± PWA Ready

  • Installable Progressive Web App

🎨 Modern UI

  • Dark theme using Tailwind CSS

πŸ› οΈ Tech Stack

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

🏁 Getting Started

Follow these steps to set up and run the project locally.

βœ… Prerequisites

  • Node.js (v18 or later)
  • npm (comes with Node.js)
  • Git
  • Firebase Account
  • Google Cloud Account (Gemini API Key with Billing Enabled)
  • Netlify Account

βš™οΈ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/jinsu-2005/quizify.git
cd quizify

2️⃣ Install Frontend Dependencies

npm install

3️⃣ Install Backend Dependencies

cd netlify/functions
npm install busboy node-fetch@2
cd ../..

πŸ”₯ Firebase Configuration

  1. Go to your Firebase project settings β†’ Register a Web App.
  2. Copy the firebaseConfig object.
  3. Paste it into the firebaseConfig variable in src/App.jsx.
  4. Enable these Firebase services:
    • Authentication (Email/Password, Google, GitHub, Anonymous)
    • Firestore Database

Authentication Settings:

  • Add localhost under Authorized domains.
  • Set User account linking β†’ β€œLink accounts that use the same email”.

☁️ Google Cloud Configuration

  1. Link your Firebase project to Google Cloud.
  2. Enable APIs:
    • Generative Language API
    • Cloud Firestore API
  3. Link your project to a Billing Account.
  4. Generate your Gemini API Key under
    APIs & Services β†’ Credentials β†’ Create API Key.
  5. Configure OAuth consent screen β†’ Add required scopes and publish.

🌍 Netlify & Environment Variables

Create a .env file in your root directory:

GEMINI_API_KEY=AIzaSy...YourSecretKey...

Run the app locally:

netlify dev

Then open πŸ‘‰ http://localhost:8888


πŸš€ Deployment (Netlify)

1️⃣ Connect GitHub

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

2️⃣ Link Netlify

netlify init
  • Build command: npm run build
  • Publish directory: build
  • Functions directory: netlify/functions

3️⃣ Set Environment Variables

Go to
Netlify β†’ Site configuration β†’ Build & deploy β†’ Environment variables
Add your GEMINI_API_KEY.

4️⃣ Push to Deploy

git add .
git commit -m "Deploy latest changes"
git push

πŸ‘¨β€πŸ’» Creator

Detail Info
Name Jinsu J
Role Developer & Student (3rd Year B.Tech IT)
GitHub jinsu-2005
LinkedIn Jinsu .J
Email jinsu.j2005@gmail.com
Project Started October 2025

Built with ❀️ by Jinsu J β€” Empowering Learning with AI πŸš€

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages