Thanks to visit codestin.com
Credit goes to github.com

Skip to content

kokoyroy/xtype

Repository files navigation

TypeX - Modern Typing Learning Application

A beautiful, feature-rich typing application built with React, TypeScript, and Tailwind CSS. Learn to type faster and more accurately with real-time feedback and interactive features.

TypeX Demo React TypeScript Tailwind CSS

โœจ Features

๐ŸŽฏ Smart Learning System

  • Difficulty Levels: Easy, Medium, and Hard word sets for progressive learning
  • Customizable Word Count: Choose from 10, 25, 50, 100, or 200 words per test
  • Dynamic Text Generation: Thousands of words across all difficulty levels

๐Ÿ“Š Real-time Analytics

  • Live WPM Tracking: Real-time words per minute calculation
  • Accuracy Monitoring: Track your typing accuracy percentage
  • Progress Visualization: Visual progress bar and completion statistics
  • Session Summary: Detailed results after each test

โŒจ๏ธ Interactive Virtual Keyboard

  • Finger Placement Guide: Color-coded keys showing which finger to use
  • Touch Typing Support: Learn proper finger positioning
  • Real-time Highlighting: Keys light up as you type
  • Toggle Visibility: Show/hide keyboard as needed

๐ŸŽต Audio Feedback

  • Sound Effects: Audio feedback for correct/incorrect keystrokes
  • Volume Control: Adjustable volume slider
  • Completion Sounds: Melodic feedback when tests are complete

๐ŸŽจ Customizable Interface

  • Theme Support: Light, Dark, and System theme modes
  • Font Size Options: Small, Medium, and Large text sizes
  • Visual Feedback: Green/red highlighting for correct/incorrect characters
  • Responsive Design: Works seamlessly on all devices

โš™๏ธ Advanced Settings

  • Modal Settings Panel: Clean, organized settings interface
  • Live WPM Display: Toggle real-time WPM visibility
  • Error Highlighting: Visual feedback for typing mistakes
  • Browser Shortcuts: Preserved Cmd+R, F5, and other browser shortcuts

๐Ÿš€ Live Demo

Try the application live at: https://xtype.pages.dev/

๐Ÿ› ๏ธ Tech Stack

  • Frontend: React 18+ with TypeScript
  • Styling: Tailwind CSS 3.4+
  • UI Components: shadcn/ui
  • Build Tool: Vite
  • Audio: Web Audio API
  • Icons: Lucide React

๐Ÿ“ฆ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/typex.git
    cd typex
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Build for production

    npm run build

๐ŸŽฎ How to Use

  1. Start Typing: Click on the typing area or press any key to begin
  2. Choose Settings: Click the Settings button to customize your experience
  3. Select Difficulty: Choose Easy, Medium, or Hard based on your skill level
  4. Set Word Count: Pick how many words you want to type (10-200)
  5. Customize Display: Adjust theme, font size, and other preferences
  6. Track Progress: Monitor your WPM and accuracy in real-time
  7. Learn Proper Typing: Use the virtual keyboard to see finger placement

๐Ÿ—๏ธ Project Structure

src/
โ”œโ”€โ”€ components/          # React components
โ”‚   โ”œโ”€โ”€ SettingsPanel.tsx    # Settings modal
โ”‚   โ”œโ”€โ”€ StatsDisplay.tsx     # Statistics display
โ”‚   โ”œโ”€โ”€ TypingArea.tsx       # Main typing interface
โ”‚   โ””โ”€โ”€ VirtualKeyboard.tsx  # Interactive keyboard
โ”œโ”€โ”€ hooks/               # Custom React hooks
โ”‚   โ””โ”€โ”€ useTypingEngine.ts   # Core typing logic
โ”œโ”€โ”€ lib/                 # Utility functions
โ”‚   โ””โ”€โ”€ utils.ts             # Helper functions
โ”œโ”€โ”€ types/               # TypeScript definitions
โ”‚   โ””โ”€โ”€ index.ts             # Type definitions
โ””โ”€โ”€ App.tsx              # Main application component

๐ŸŽฏ Key Features Explained

Typing Engine

  • Custom React hook managing all typing logic
  • Real-time statistics calculation
  • Character-level tracking and feedback
  • Timer management and session control

Virtual Keyboard

  • Comprehensive finger mapping for touch typing
  • Color-coded keys for different fingers
  • Real-time highlighting of current character
  • Responsive design for all screen sizes

Settings System

  • Modal-based settings interface
  • Organized into logical sections
  • Real-time theme switching
  • Persistent user preferences

Audio System

  • Web Audio API for sound generation
  • Multiple sound types (correct, incorrect, complete)
  • Volume control with smooth transitions
  • Audio context management

๐Ÿ”ง Development

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Run ESLint

Key Dependencies

  • react - UI framework
  • typescript - Type safety
  • tailwindcss - Utility-first CSS
  • @radix-ui/* - Accessible UI primitives
  • lucide-react - Icon library

๐ŸŽจ Design Principles

  • Accessibility First: WCAG compliant with keyboard navigation
  • Mobile Responsive: Works on all device sizes
  • Performance Optimized: Fast loading and smooth animations
  • User Experience: Intuitive interface with clear feedback
  • Modern Standards: Latest React patterns and best practices

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Inspired by typing learning platforms like keybr.com
  • Built with modern web technologies
  • Icons by Lucide
  • UI components by shadcn/ui

๐Ÿ“ž Contact


Happy Typing! ๐ŸŽ‰

Built with โค๏ธ using React, TypeScript, and Tailwind CSS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published