This is the React.js frontend for the AI-powered quiz generation app. Users can sign up, upload documents, generate quizzes using AI, and review quiz results β all in a clean, responsive, and dark/light mode interface.
π This project is powered by a FastAPI backend. Check it out here: quiz-app-backend
- React.js (with React Router)
- Bootstrap 5
- Fetch API for backend integration
- JWT Authentication (stored in
localStorage
) - Confetti + Toasts for fun user experience
- Dark Mode Toggle throughout
frontend/
βββ public/
β βββ index.html
βββ src/
β βββ api/ # Axios/fetch logic
β βββ components/ # Page & UI Components
β βββ App.js # Routing logic
β βββ index.js # ReactDOM root
- Clone the repo:
git clone git@github.com:YourUsername/quiz-frontend.git
cd quiz-frontend
- Install dependencies:
npm install
- Create a .env file:
REACT_APP_API_URL=https://your-backend-url
- Start the frontend:
npm start
Access the app at: http://localhost:3000
- JWT tokens are stored in localStorage
- Protected routes require valid token
- Header format:
Authorization: Bearer <token>
You can try the frontend live on Heroku here: π https://quiz-frontend-nick-b973ee3e10ba.herokuapp.com
Page | Path | Auth Required | Description |
---|---|---|---|
Login | /login |
β No | User login |
Register | /register |
β No | New account signup |
Dashboard | / |
β Yes | List of uploaded files + quizzes |
File Upload | /upload |
β Yes | Upload DOCX, PDF, or TXT files |
Quiz Page | /quiz |
β Yes | Take quiz generated by AI |
Results | /results |
β Yes | View correct answers and explanations |
History | /history |
β Yes | View past quiz attempts |
Welcome to the AI-Powered Quiz Web App, a full-stack web application that transforms any uploaded document into an interactive quiz using Google's Gemini AI. Users can upload PDF, DOCX, or TXT files, take generated quizzes, and receive instant feedback, all within a modern, responsive interface.
- π Smart Uploads: Upload PDF, DOCX, or TXT files.
- π€ AI Quiz Generation: Uses Gemini AI to generate accurate multiple-choice questions.
- π§ Instant Feedback: Get answers and explanations right after quiz submission.
- π Progress Tracking: View quiz history and reattempt previous quizzes.
- π JWT Authentication: Secure signup/login with protected routes.
- π Dark Mode: Full dark/light theme support.
- Toggle applied globally to all pages and components
- Affects card themes, button variants, backgrounds, text, overlays, etc.
44 detailed screenshots have been uploaded to showcase user flow, dark/light mode, quiz results, and dashboard views. Here are some visual highlights of the app in both light and dark modes:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
No frontend tests have been written yet. You can add tests using React Testing Library or Cypress.
- Uses React Bootstrap for rapid prototyping.
- Works seamlessly with FastAPI backend at localhost:8000.
- Accessible, responsive, and optimized for both desktop and mobile.
- Overview: High-level description of system components.
- Data Flow: Describes how data moves from upload to evaluation.
- API Design: RESTful endpoints powering the system.
- General System Diagram (PDF): Visual architecture representation.
- User Stories: Features from a user perspective.
- System Architecture: Direct access to all technical documentation related to the system design, architecture, and data flow of the AI-Powered Quiz Web App.
Built with π by Nick Efe Oni.
Feel free to fork, star, and share your feedback!
Nick Efe Oni
GitHub β’ LinkedIn
βοΈ efeoni10@gmail.com