Skip to content

santanu4246/QuizApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

🎮 QuizSync - Interactive Quiz Application

Next.js React TypeScript Express Socket.IO License

🌟 Overview

QuizSync is a cutting-edge, real-time quiz application that revolutionizes the way quizzes are created and taken. Built with modern technologies and featuring AI-powered quiz generation, it offers an engaging and interactive experience for both quiz creators and participants.

🚀 Key Features

Feature Description
🎯 Real-time Updates Live synchronization of quiz progress and results
🤖 AI Quiz Generation Smart quiz creation powered by Google's Generative AI
👥 User Authentication Secure login and registration system
🎨 Modern UI Beautiful interface with Tailwind CSS and Framer Motion
🔄 Real-time Communication Instant updates using Socket.IO
📱 Responsive Design Perfect experience on all devices
🎮 Interactive Interface Engaging quiz-taking experience
🔒 Secure Authentication Protected routes with NextAuth.js

🛠️ Tech Stack

Frontend

Technology Version Purpose
Next.js 15.1.6 React Framework
React 19.0.0 UI Library
TypeScript 5.0.0 Type Safety
Tailwind CSS 3.4.1 Styling
Framer Motion 12.4.2 Animations
Zustand 5.0.3 State Management
Socket.IO Client 4.8.1 Real-time Communication
NextAuth.js 4.24.11 Authentication

Backend

Technology Version Purpose
Express.js 4.21.2 Server Framework
TypeScript 5.7.3 Type Safety
Socket.IO 4.8.1 Real-time Server
Google Generative AI 0.24.0 AI Integration
Prisma 6.3.0 Database ORM
Neon DB Latest Serverless PostgreSQL Database
Node.js Latest Runtime Environment

⚙️ Prerequisites

Before you begin, ensure you have the following installed:

  • 💻 Node.js (v18 or higher)
  • 📦 npm or yarn
  • 🗄️ Neon DB Account (for database)
  • 🔑 Google AI API key (for quiz generation)

🚀 Getting Started

1. Clone the Repository

git clone [your-repository-url]
cd QuizApp

2. Install Dependencies

Frontend:

cd quiz
npm install

Backend:

cd backend
npm install

3. Environment Setup

Frontend (.env):

NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-key

Backend (.env):

PORT=5000
DATABASE_URL="postgres://[user]:[password]@[neon-hostname]/[dbname]?sslmode=require"
GOOGLE_AI_API_KEY=your-google-ai-api-key

4. Start Development Servers

Frontend:

cd quiz
npm install
npx prisma generate
npm run dev

Backend:

cd backend
npm install
npm run dev

Access Points:

📁 Project Structure

QuizApp/
├── quiz/                 # Frontend Next.js application
│   ├── app/             # Next.js app directory
│   ├── components/      # React components
│   └── public/          # Static assets
└── backend/             # Express.js backend
    ├── src/             # Source code
    └── server.ts        # Main server file

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/AmazingFeature)
  3. 💾 Commit your changes (git commit -m 'Add some AmazingFeature')
  4. 📤 Push to the branch (git push origin feature/AmazingFeature)
  5. 🔄 Open a Pull Request

📄 License

This project is licensed under the ISC License - see the LICENSE file for details.

🙏 Acknowledgments

  • 🤖 Google Generative AI for quiz generation capabilities
  • ⚡ Next.js team for the amazing framework
  • 👥 All contributors and maintainers of the open-source libraries used in this project

Made with ❤️ by Santanu Dutta

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages