A comprehensive full-stack web application designed for creating, managing, and participating in quizzes and polls. Built with a modern tech stack featuring an Express.js RESTful API backend and a responsive Vanilla JavaScript + Tailwind CSS frontend. The application emphasizes user experience with a sleek dark theme, secure JWT-based authentication, Firebase integration for data persistence, and real-time interactive features. Users can easily share quiz and poll links for wider participation across all platforms.
Note: This project is currently in development. Some features like user profiles, quiz analytics, and advanced poll settings are planned for future releases. Screenshots below show the current state of each page interface. I'm sorry for 🍝
- Shareable Quiz URLs - Copy and share quiz links for easy access
- Poll Distribution - Generate unique links for poll participation
- Social Media Ready - Links work across all platforms and devices
- Secure Login/Register with JWT authentication
- Password Hashing using bcryptjs
- Firebase Integration for user management
- Session Management with secure tokens
- Create Custom Quizzes with multiple choice questions
- System Quizzes including English, Geography, Literature, and Philosophy
- Interactive Quiz Solving with real-time feedback
- Quiz Library to browse available quizzes
- Shareable Links Copy and share quiz URLs with others
- Quiz Statistics View detailed performance metrics and user success rates
![]() Quiz Creation Page - Interface for building custom quizzes |
![]() Quiz Taking Interface - Interactive question answering page |
- Create Polls with multiple options
- Real-time Voting with instant results
- Poll Management and viewing capabilities
- Interactive Poll Interface
- Share Poll Links - Generate shareable URLs for wider participation
![]() Poll Creation Interface - Design and configure new polls |
![]() Poll Participation Page - Vote and view live results |
- User Management - View and manage all registered users
- Account Control - Suspend or delete user accounts
- System Monitoring - Track platform activity and statistics
- Administrative Tools - Comprehensive platform management features
↳ Main Dashboard - Central hub with navigation and features overview
- Node.js - Runtime environment
- Express.js - Web framework
- Firebase Admin - Database and authentication
- JWT - Token-based authentication
- bcryptjs - Password hashing
- CORS - Cross-origin resource sharing
- Vanilla JavaScript - Core functionality
- Tailwind CSS - Utility-first CSS framework
- HTML5 - Semantic markup
- SVG Graphics - Custom illustrations
- Node.js (v14 or higher)
- npm or yarn
- Firebase Account for database and authentication
git clone <repository-url>
cd quiz-appcd backend
npm install- Create a Firebase project at Firebase Console
- Generate a service account key
- Configure
firebase-config.jswith your credentials
npm startThe backend server will start on http://localhost:3000
Open frontend/index.html in your browser or serve it through a local server.
Register or login to access the platform dashboard.
- Create custom quizzes with multiple choice questions
- Copy and share quiz links for easy distribution
- Design polls with multiple options and duration settings
- Share poll URLs to maximize participation
Browse, participate, and track your progress in available content.
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/verify- Token verification
GET /api/quizzes- Get all quizzesPOST /api/quiz/create- Create new quizGET /api/quiz/:id- Get specific quizPOST /api/quiz/solve- Submit quiz answersGET /api/quiz/share/:id- Get shareable quiz link
GET /api/polls- Get all pollsPOST /api/poll/create- Create new pollGET /api/poll/:id- Get specific pollPOST /api/poll/vote- Submit voteGET /api/poll/share/:id- Get shareable poll link
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
🌟 Don't forget to star this repository if you found it helpful! 🌟





