Skip to content

mynameisprem-pj/TypingQuest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TypingQuest - Brave 4_24_2026 1_06_32 PM # TypingQuest ๐ŸŽฏโŒจ๏ธ

A fun, gamified typing trainer built for students. TypingQuest teaches keyboard skills through structured lessons, timed practice, LAN multiplayer races, and action-packed typing games โ€” all in one app.


โœจ Features

๐ŸŽ“ Solo Practice

  • 300 levels across 3 difficulties โ€” Beginner, Intermediate, Master
  • Each level has a fixed time limit โ€” finish before the clock runs out
  • Real-time WPM, accuracy, and countdown timer
  • โญ Star rating system (1โ€“3 stars) based on speed and accuracy
  • Virtual keyboard with finger color hints for beginners
  • Progress saved per student profile

๐Ÿ“š Structured Lessons

  • 6 courses covering home row, top row, bottom row, numbers, symbols, and speed
  • Step-by-step finger placement guidance with hand diagrams
  • Lesson progress tracked separately from solo practice

โฑ๏ธ Timed Challenge

  • Type as much as possible in 1, 2, or 5 minutes
  • WPM graph showing your speed over time
  • Personal best tracking per difficulty

๐Ÿ–Š๏ธ Custom Text

  • Paste any text and practice typing it
  • Great for typing homework, notes, or paragraphs from textbooks

๐ŸŒ LAN Race (School Network)

  • Multiplayer typing race over your school's local network
  • Host picks text and game mode:
    • Finish Race โ€” first to complete the full text wins
    • Timed Battle โ€” most words typed in the time limit wins
  • Live standings and progress bars for all players
  • Supports up to 10 players simultaneously

๐ŸŽฎ Learn With Fun โ€” Game Hub

Two fully playable games with more coming soon:

Game Description Status
๐Ÿš€ Space Shooter Type words to fire lasers and destroy alien invaders. Combo multipliers + boss waves every 10 kills โœ… Available
๐ŸงŸ Zombie Survival Defend your base from zombie hordes across 3 lanes. Power-ups: FREEZE all zombies, BOMB clears the screen โœ… Available
๐ŸŽ๏ธ Car Race Type to accelerate and beat AI opponents ๐Ÿ”œ Coming Soon
๐ŸŸ Deep Sea Diver Type words to collect treasure and scare sharks ๐Ÿ”œ Coming Soon
โš”๏ธ Typing Knight Turn-based RPG โ€” type to attack and defend ๐Ÿ”œ Coming Soon

๐Ÿ‘ค Student Profiles

  • Multiple profiles on one device โ€” perfect for shared school computers
  • Each profile has its own name, class, avatar, progress and high scores
  • Switch profiles without losing any data

๐Ÿ† Achievements

  • 20+ achievements for speed, accuracy, streaks, and consistency
  • Toast notifications when you unlock one mid-session

๐Ÿ“Š Stats

  • WPM history graph
  • Best WPM, total words typed, total time practiced
  • Average accuracy across all sessions

๐Ÿ–ผ๏ธ Screenshots

(- assets/)


๐Ÿ› ๏ธ Tech Stack

Layer Technology
Framework Flutter 3.x (Dart)
Platforms Windows Desktop, Web
Storage shared_preferences
Fonts Google Fonts (Poppins + Inter)
Audio audioplayers
Graphics Custom CustomPainter (no game engine)

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK โ€” stable channel
  • Dart SDK โ‰ฅ 3.0.0
  • For Windows builds: Visual Studio 2022 with Desktop development with C++

Run Locally

# Clone the repository
git clone https://github.com/mynameisprem-pj/typingquest.git
cd typingquest

# Install dependencies
flutter pub get

# Run on Windows
flutter run -d windows

# Run on Chrome (web)
flutter run -d chrome

Build for Release

# Windows
flutter build windows --release

# Web (for deployment)
flutter build web --release

๐Ÿ“ Project Structure

lib/
โ”œโ”€โ”€ main.dart                    # App entry point + service init
โ”œโ”€โ”€ theme/
โ”‚   โ””โ”€โ”€ app_theme.dart           # Colors, typography, shared styles
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ typing_content.dart      # All 300 level texts + time limits
โ”‚   โ””โ”€โ”€ lesson_data.dart         # Lesson course content
โ”œโ”€โ”€ models/
โ”‚   โ””โ”€โ”€ game_models.dart         # Difficulty, LevelResult, LanPlayer etc.
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ profile_service.dart     # Multi-profile management
โ”‚   โ”œโ”€โ”€ progress_service.dart    # Solo level progress + stars
โ”‚   โ”œโ”€โ”€ stats_service.dart       # WPM history + totals
โ”‚   โ”œโ”€โ”€ achievements_service.dart
โ”‚   โ”œโ”€โ”€ lesson_progress_service.dart
โ”‚   โ”œโ”€โ”€ lan_service.dart         # TCP socket LAN multiplayer
โ”‚   โ””โ”€โ”€ sound_service.dart       # Key click + effect sounds
โ”œโ”€โ”€ widgets/
โ”‚   โ”œโ”€โ”€ virtual_keyboard.dart    # On-screen keyboard with highlights
โ”‚   โ”œโ”€โ”€ virtual_hands.dart       # Animated hand/finger diagrams
โ”‚   โ”œโ”€โ”€ wpm_graph.dart           # Line chart for WPM history
โ”‚   โ””โ”€โ”€ achievement_toast.dart   # Slide-in achievement notification
โ””โ”€โ”€ screens/
    โ”œโ”€โ”€ home/
    โ”‚   โ”œโ”€โ”€ home_screen.dart     # Dashboard + navigation drawer
    โ”‚   โ””โ”€โ”€ falling_words_game.dart
    โ”œโ”€โ”€ solo/                    # Difficulty โ†’ Level select โ†’ Typing
    โ”œโ”€โ”€ lessons/                 # Course list โ†’ Lesson viewer
    โ”œโ”€โ”€ timed/                   # Timed challenge screen
    โ”œโ”€โ”€ custom/                  # Custom text practice
    โ”œโ”€โ”€ lan/                     # Host, Join, Race screens
    โ”œโ”€โ”€ fun/
    โ”‚   โ”œโ”€โ”€ fun_hub_screen.dart  # Game selection hub
    โ”‚   โ”œโ”€โ”€ space_shooter_game.dart
    โ”‚   โ””โ”€โ”€ zombie_survival_game.dart
    โ”œโ”€โ”€ stats/
    โ”œโ”€โ”€ achievements/
    โ””โ”€โ”€ profile/

๐ŸŽฎ How the Games Work

Space Shooter

  • Aliens fall from the top of the screen, each carrying a word
  • Type the first letter to lock on and rotate your ship toward it
  • Each correct letter fires a bullet โ€” finish the word to destroy the alien
  • Every 10 kills triggers a Boss Wave โ€” type a full sentence to defeat it
  • Chain kills for Combo Multipliers: 5ร— kill = 2ร— points, 10ร— kill = 3ร— points
  • 3 difficulties: Cadet (short words), Pilot (medium), Commander (long words)

Zombie Survival

  • Zombies walk left across 3 lanes toward your base
  • Type their word to fire bullets โ€” each letter = one bullet
  • Special zombie types: Fast (runs), Tank (slow but tough words)
  • Power-ups: โ„ Freeze zombie (type "freeze") freezes all zombies for 4 seconds
  • ๐Ÿ’ฃ Bomb zombie (type "bomb") clears all normal zombies instantly
  • Survive endless waves โ€” each wave is faster and denser

๐Ÿซ About This Project

The project was developed entirely in Flutter/Dart with no external game engines โ€” all game graphics are drawn using Flutter's CustomPainter API.


๐Ÿ“„ License

This project is open source and free to use for educational purposes.


๐Ÿ™ Acknowledgements

Live Demo

About

Type with fun.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors