KEMBAR78
Skill Quest | PDF | System Software | Software
0% found this document useful (0 votes)
30 views7 pages

Skill Quest

SkillQuest is a gamified learning platform built with Django REST Framework and React, featuring interactive quizzes, skill progression tracking, and leaderboards. The platform is designed to be responsive and utilizes a modern UI with Tailwind CSS. It includes comprehensive backend and frontend setups, deployment instructions, and future enhancement plans.

Uploaded by

arunausa902
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views7 pages

Skill Quest

SkillQuest is a gamified learning platform built with Django REST Framework and React, featuring interactive quizzes, skill progression tracking, and leaderboards. The platform is designed to be responsive and utilizes a modern UI with Tailwind CSS. It includes comprehensive backend and frontend setups, deployment instructions, and future enhancement plans.

Uploaded by

arunausa902
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

SkillQuest - Gamified Learning Platform

A professional full-stack gamified learning platform built with Django REST Framework
and React.

Features
• Gamified Learning Experience: XP points, levels, badges, and achievements
• Interactive Quizzes: Timed quizzes with instant feedback and explanations
• Skill Progression: Track progress across multiple skill categories
• Leaderboards: Compete with other learners and track rankings
• User Profiles: Comprehensive profile pages with statistics and achievements
• Responsive Design: Works seamlessly on desktop and mobile devices
• Modern UI: Built with Tailwind CSS and shadcn/ui components

Technology Stack

Backend

• Django 5.1.4 - Web framework


• Django REST Framework - API development
• Django CORS Headers - Cross-origin resource sharing
• Django Simple JWT - JWT authentication
• SQLite - Database (easily configurable for PostgreSQL)

Frontend

• React 18 - Frontend framework


• React Router - Client-side routing
• Tailwind CSS - Utility-first CSS framework
• shadcn/ui - Modern UI components
• Lucide React - Icon library
• Vite - Build tool and development server

Project Structure

├── gamified-platform-backend/ # Django REST API


│ ├── config/ # Django settings
│ ├── users/ # User management
│ ├── skills/ # Skills and courses
│ ├── quizzes/ # Quiz system
│ ├── gamification/ # XP, badges, leaderboards
│ ├── credentials/ # Micro-credentials
│ └── requirements.txt # Python dependencies

├── gamified-platform-frontend/ # React application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── services/ # API service layer
│ │ └── assets/ # Static assets
│ ├── dist/ # Production build
│ └── package.json # Node.js dependencies

└── design_concept.md # UI/UX design documentation

Quick Start

Backend Setup

1. Navigate to backend directory:


bash
cd gamified-platform-backend

2. Install dependencies:
bash
pip install -r requirements.txt

3. Run migrations:
bash
python manage.py migrate

4. Create superuser (optional):


bash
python manage.py createsuperuser

5. Start development server:


bash
python manage.py runserver 0.0.0.0:8000
Frontend Setup

1. Navigate to frontend directory:


bash
cd gamified-platform-frontend

2. Install dependencies:
bash
npm install

3. Start development server:


bash
npm run dev

4. Build for production:


bash
npm run build

Deployment

Backend Deployment (Railway/Render)

1. Prepare for deployment:


2. Update ALLOWED_HOSTS in settings.py
3. Configure environment variables for production

4. Set up PostgreSQL database (if needed)

5. Deploy to Railway:
bash
# Connect your GitHub repository to Railway
# Railway will automatically detect Django and deploy

Frontend Deployment (Vercel)

1. Deploy to Vercel:
bash
# Connect your GitHub repository to Vercel
# Vercel will automatically detect React and deploy

2. Build settings:

3. Build Command: npm run build


4. Output Directory: dist
5. Install Command: npm install

Configuration

Environment Variables

Backend (.env):

DEBUG=False
SECRET_KEY=your-secret-key
ALLOWED_HOSTS=your-domain.com
DATABASE_URL=your-database-url

Frontend:
Update API base URL in src/services/api.js :

const API_BASE_URL = 'https://your-backend-domain.com/api'

API Endpoints

Skills

• GET /api/skills/list/ - List all skills


• GET /api/skills/detail/{id}/ - Get skill details

Quizzes

• GET /api/quizzes/list/ - List all quizzes


• GET /api/quizzes/detail/{id}/ - Get quiz details
• POST /api/quizzes/submit/{id}/ - Submit quiz answers

Gamification

• GET /api/gamification/leaderboard/ - Get leaderboard


• GET /api/gamification/badges/ - Get user badges

Users

• POST /api/users/register/ - User registration


• POST /api/users/login/ - User login
• GET /api/users/profile/ - Get user profile

Credentials

• POST /api/credentials/issue/ - Issue credential


• GET /api/credentials/verify/{uuid}/ - Verify credential

Design System
The platform uses a modern design system with:
- Primary Color: Blue (#6366f1)
- Secondary Color: Green (#10b981)
- Accent Color: Orange (#f59e0b)
- Typography: System fonts with proper hierarchy
- Spacing: Consistent 8px grid system
- Components: Reusable UI components with proper states

Testing

Frontend Testing

cd gamified-platform-frontend
npm run test

Backend Testing

cd gamified-platform-backend
python manage.py test

Mobile Responsiveness
The platform is fully responsive and optimized for:
- Desktop (1024px+)
- Tablet (768px - 1023px)
- Mobile (320px - 767px)
Security Features
• JWT-based authentication
• CORS protection
• Input validation and sanitization
• Secure password handling
• Rate limiting (configurable)

Performance Optimizations
• Code splitting and lazy loading
• Optimized bundle sizes
• Efficient API caching
• Image optimization
• Minified CSS and JavaScript

Future Enhancements
• Real-time notifications
• Video content support
• Advanced analytics dashboard
• Social learning features
• Mobile app development
• AI-powered recommendations

Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

License
This project is licensed under the MIT License.
🆘 Support
For support and questions:
- Create an issue in the GitHub repository
- Check the documentation
- Review the API endpoints

Built with using Django and React

You might also like