tukai 0.2.3

The app provides an interactive typing experience with switchable templates, designed to help users improve their typing speed and accuracy.
<div align="center">
  <h3 align="center">Tukai</h3>
  <p><strong>Terminal-based touch typing application</strong></p>
  <img src="https://github.com/hlsxx/tukai/blob/master/blob/example.gif" alt="Tukai Demo" width="80%" />
</div>

A fast, lightweight terminal-based touch typing application built in Rust using the [Ratatui](https://github.com/ratatui/ratatui) library. Designed to help users improve their typing speed and accuracy through an interactive, customizable practice experience.

## ✨ Features

- **🚀 Terminal-Based**: Lightweight and accessible on any platform
- **⚡ Rust-Powered**: Built for performance and reliability
- **🎨 Customizable Templates**: Switch between different practice templates
- **📊 Stats Tracking**: Built-in statistics preview for completed tests
- **🌍 Multi-Language Support**: Practice typing in multiple languages
- **🎯 Interactive Experience**: Real-time feedback and smooth user interface

## 📦 Installation

### Build from Source

1. **Install Rust**
   
   If you don't have Rust installed, visit the [official Rust website]https://www.rust-lang.org/tools/install for installation instructions.

2. **Clone the repository**
   ```bash
   git clone https://github.com/hlsxx/tukai
   cd tukai
   ```

3. **Build and run**
   ```bash
   # Run directly
   cargo run
   
   # Or build release version
   cargo build --release
   ./target/release/tukai
   ```

### Package Managers

#### Cargo (Rust Package Manager)
```bash
cargo install tukai
```

#### Arch Linux
```bash
pacman -S tukai
```

#### X-CMD
```bash
x install tukai
```

## ⌨️ Usage & Keyboard Shortcuts

| Key Combination | Alternative | Action |
|-----------------|-------------|---------|
| `Ctrl + C` | `Esc` | Exit application |
| `Ctrl + R` | | Restart and generate new text |
| `Ctrl + S` | | Switch between templates |
| `Ctrl + T` | | Toggle transparent background |
| `Ctrl + H` | `` | Switch screen forward |
| `Ctrl + L` | `` | Switch screen backward |
| `Ctrl + P` | | Switch language |

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

## 📝 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

<div align="center">
  <p>Made with ❤️ and Rust</p>
</div>