A full-stack learning platform with gamification features to make learning tech skills engaging and fun.
- User authentication and profiles
- Personalized learning paths
- Interactive lessons and exercises
- Gamification (achievements, streaks, daily challenges)
- Progress tracking and analytics
- Community features
- Django
- Django REST Framework
- JWT Authentication
- SQLite (development) / PostgreSQL (production)
- React
- TypeScript
- Tailwind CSS
- Vite
- Python 3.8+
- Node.js 16+
- npm or yarn
-
Navigate to the backend directory:
cd backend -
Create a virtual environment:
python -m venv venv -
Activate the virtual environment:
- Windows:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
-
Install dependencies:
pip install -r requirements.txt -
Set up environment variables: Create a
.envfile in the backend directory with:DJANGO_SECRET_KEY=your_secret_key DEBUG=True -
Run migrations:
python manage.py migrate -
Create a superuser:
python manage.py createsuperuser -
Start the development server:
python manage.py runserver
-
Navigate to the project root directory
-
Install dependencies:
npm install -
Start the development server:
npm run dev -
Open your browser and navigate to
http://localhost:5173
The API documentation is available at /api/docs/ when the backend server is running.
YungsTech/
├── backend/ # Django backend
│ ├── core/ # Project settings
│ ├── users/ # User authentication and profiles
│ ├── learning/ # Learning paths and lessons
│ └── gamification/ # Achievements, streaks, challenges
├── src/ # React frontend
│ ├── components/ # Reusable UI components
│ ├── contexts/ # React contexts
│ ├── lib/ # Utilities and API clients
│ ├── pages/ # Page components
│ └── types/ # TypeScript type definitions
└── public/ # Static assets
This project is licensed under the MIT License - see the LICENSE file for details.