Live Site: [https://quizlyy.netlify.app/]
Quizly is a full-stack quiz application designed for educators and students. It allows admins to create quizzes (manually or via Excel upload) and users to take them with a built-in timer. The platform supports various question types, detailed result tracking, secret-code-based access, and email integration for contact and support.
- 👩🏫 Admin quiz creation (manual + Excel upload)
- 🧑🎓 Timed quiz participation for users
- ✅ Authentication & Authorization using JWT
- 📊 Auto-scoring and result tracking
- 🧾 Excel upload with Multer for bulk quiz input
- ✉️ Contact form integration using Web3Forms
- 🎯 Support for single-choice, multiple-choice, and written answers
- 🎨 Responsive UI using Tailwind CSS
- 🚫 Custom error handling for better UX
- Node.js – JavaScript runtime
- Express.js – Web framework
- MongoDB – NoSQL database
- Mongoose – MongoDB ODM
- Multer – File upload (Excel handling)
- jsonwebtoken – Secure token-based authentication
- React (Vite) – Fast frontend build tool
- Tailwind CSS – Utility-first CSS framework
- Web3Forms – Serverless contact form integration
- XLSX – Excel file parsing
- bcryptjs – Password hashing
- React Router DOM – Routing
- Axios – HTTP requests
git clone https://github.com//quizly.git
cd quizly/backend npm install
Create a .env file with the following:
PORT=8080 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key
Start the backend:
npm start
```bash cd ../frontend npm install npm run dev ```
Now your frontend runs on: http://localhost:5173
- Login as admin
- Create quizzes manually or upload Excel
- Share the secret code with users
- Login or register
- Enter secret code to start quiz
- Timer starts and responses are recorded
- On submission, results are stored and displayed
Use the built-in contact form (powered by Web3Forms) for inquiries or support.
git clone https://github.com//quizly.git
git clone https://github.com//quizly.git
git checkout -b feature-or-fix-name
git add . git commit -m "Describe your changes"
git push origin feature-or-fix-name
Go to your forked repo and click "New Pull Request" to submit your changes.