PyBattle is a gamified web application designed to transform monotonous programming practice into an engaging, challenge-driven experience for beginners learning Python. By integrating game mechanics like levels, coins, and leaderboards, it aims to boost motivation, retention, and problem-solving skills in a fun and interactive environment.
- Gamified Learning: Progress through levels, earn coins (rewards), and track your performance on the Leaderboard.
- Multiple Battle Modes: Test a variety of coding skills with four unique game types
- Spot the Error: Debug faulty Python code snippets
- Write Code Under Time: Solve problems under a countdown timer to build speed
- Output Challenge: Predict the exact output of given Python code
- Quiz Master: Theory-based multiple-choice questions on fundamental concepts
- User Authentication: Secure registration and login system for personalized progress tracking
- Dashboard & Analytics: Visual representation of user progress, levels cleared, and coins earned across all mode
- Dynamic Content: Game content (levels, questions) is managed and loaded dynamically from JSON files, making content addition easy
| Component | Technology | Description |
|---|---|---|
| Backend | Python, Flask | Used for server-side logic, routing, and processing game evaluations. |
| Frontend | HTML, CSS, JavaScript | Clean, minimal UI design for accessibility on both desktop and mobile. |
| Database | SQLite | Lightweight database used for persistent storage of user accounts and game progress (levels, coins). |
- Python (version 3.x)
- A modern web browser
[Arnav Deore]