View Live Demo ยท Features ยท Tech Stack ยท Getting Started
๐ Live Demo
| Service | URL | Status |
|---|---|---|
| Frontend (Vercel) | king-ice-quiz.vercel.app | |
| Backend API (Render) | king-ice-quiz-app.onrender.com |
โจ Features
๐ฏ Quiz System
- Multiple Categories: Various quiz topics with Easy/Medium/Hard difficulty levels
- Timed Quizzes: Countdown timers with automatic submission
- Randomized Questions: Optional question shuffling for varied attempts
- Smart Scoring: Passing score requirements with max attempts enforcement
- Real-time Progress: Live progress tracking during quiz taking
- Question Management: Full CRUD operations for quiz questions
๐ฌ Real-Time Chat
- WebSocket Communication: Instant messaging powered by Socket.io
- Category Rooms: Dedicated chat rooms for each quiz category
- Direct Messaging: Private conversations between users
- Online Presence: Real-time user online/offline indicators
- Message History: Persistent chat history with MongoDB storage
- Chat Moderation: Report system and admin moderation tools
๐ Results & Analytics
- Detailed Breakdown: Answer-by-answer review with correct answers
- Performance Charts: Visual analytics with Chart.js integration
- Leaderboards: Global and category-specific rankings
- Achievement System: Badges and trophies for milestones
- Quiz History: Complete record of past quiz attempts
- Progress Tracking: Track improvement over time
๐ค User Profiles
- Customizable Profiles: Bio, avatar, and social links
- Photo Upload: Profile picture upload via Cloudinary
- Activity Feed: Recent quiz attempts and achievements
- Achievement Showcase: Display earned badges and trophies
- User Search: Find and connect with other learners
๐ ๏ธ Admin Dashboard
- Quiz Management: Create, edit, and delete quizzes
- User Management: View and manage user accounts
- Content Moderation: Monitor and moderate chat content
- Analytics Overview: System-wide statistics and reports
- Bulk Operations: Efficient management of multiple items
๐ Security
- JWT Authentication: Access and refresh token rotation
- bcrypt Hashing: Secure password storage
- Rate Limiting: API protection (100 requests per 15 minutes)
- Input Sanitization: XSS and NoSQL injection prevention
- Helmet.js: Security headers (CSP, HSTS, XSS protection)
- AES Encryption: Client-side encryption for sensitive data
- Role-Based Access: User and Admin permission levels
๐ฑ User Experience
- Fully Responsive: Works on mobile, tablet, and desktop
- Dark/Light Theme: Toggle with persistent preference
- PWA Support: Installable on mobile devices
- Keyboard Accessible: Accessibility-focused design
๐ Tech Stack
Frontend
| Technology | Purpose |
|---|---|
| UI Framework | |
| Client-side Routing | |
| Real-time Communication | |
| Data Visualization | |
| HTTP Client | |
| Styling | |
| Client-side Encryption | |
| Image Upload |
Backend
| Technology | Purpose |
|---|---|
| Runtime | |
| Web Framework | |
| Cloud Database | |
| ODM | |
| WebSocket Server | |
| Authentication | |
| Password Hashing | |
| File Upload |
DevOps & Services
| Service | Purpose |
|---|---|
| Frontend Hosting | |
| Backend Hosting | |
| Cloud Database | |
| Image Hosting | |
| Version Control |
๐ Getting Started
Prerequisites
- Node.js v18.0 or higher
- MongoDB Atlas account (free tier)
- npm v9 or higher
Quick Start
git clone https://github.com/Kingice97/King-Ice-Quiz.git
cd King-Ice-Quiz
# Backend
cd BACKEND
npm install
npm start
# Frontend (new terminal)
cd FRONTEND
npm install
npm start
Frontend: http://localhost:3000 | Backend: http://localhost:5000
๐ License
MIT License
Built with ๐ by King Ice

