Skip to content

Burkifa23/syntaxed-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Syntaxed Desktop

(Needs Update)

Professional Code Typing Trainer - Native Desktop Edition

A high-performance desktop application built with Tauri + Rust that transforms the acclaimed Syntaxed web application into a native desktop experience.

Tauri Rust License


โœจ Features

๐Ÿš€ Native Desktop Performance

  • 15MB bundle size (10x smaller than Electron alternatives)
  • Native webview rendering for optimal performance
  • 60fps real-time metrics with Rust-powered backend
  • Instant startup with no browser overhead

๐ŸŽฏ Complete Typing Trainer

  • 25+ programming languages supported
  • Monaco Editor integration with full syntax highlighting
  • Real-time WPM, accuracy, and error tracking
  • Comprehensive statistics system with persistent storage
  • Personal best tracking for each language and topic

๐Ÿ–ฅ๏ธ Desktop-First Experience

  • Native window management with proper minimize/maximize
  • System taskbar integration
  • Desktop-optimized UI (1200x800 default, 800x600 minimum)
  • No internet required - fully offline capable
  • Cross-platform support (Windows, macOS, Linux)

๐ŸŽจ Modern Interface

  • Dark/Light theme toggle with system preference detection
  • Fully responsive design adapted for desktop use
  • Professional Monaco Editor (VS Code engine)
  • Clean, distraction-free typing environment

๐Ÿ› ๏ธ Tech Stack

Tauri Rust HTML5 CSS3 JavaScript

Architecture:

  • Frontend: Vanilla HTML/CSS/JavaScript with Monaco Editor
  • Backend: Rust with Tauri framework
  • Bundling: Native system webview (no Chromium overhead)
  • Build System: Cargo + npm integration

๐Ÿ“ฆ Installation

Prerequisites

Development Setup

# Clone the repository
git clone https://github.com/burkifa23/syntaxed-desktop.git
cd syntaxed-desktop

# Install Node.js dependencies
npm install

# Run in development mode (hot reload)
npm run tauri:dev

# Build for production
npm run tauri:build

First Run

The first npm run tauri:dev will:

  1. Download Rust dependencies (2-3 minutes)
  2. Compile Tauri backend (3-5 minutes)
  3. Open desktop application automatically

Subsequent runs are much faster (~10-30 seconds).


๐ŸŽฎ Usage

Quick Start

  1. Launch the application
  2. Select programming language from dropdown (25+ available)
  3. Choose topic: Start, Variables, Control Flow, or Functions
  4. Begin typing when you see the code snippet
  5. Track progress with real-time metrics
  6. View statistics to monitor improvement

Keyboard Shortcuts

  • Alt + Q - Stop current test
  • Alt + R - Reset test
  • Alt + B - Enable dark mode
  • Alt + W - Enable light mode
  • Alt + S - View statistics

Supported Languages

Systems Programming: C, C++, Rust, Go, Zig
Web Development: JavaScript, TypeScript, HTML, CSS, PHP
Data Science: Python, R, Julia
Enterprise: Java, C#, Scala, Kotlin
Functional: Haskell, Clojure, Elixir, Erlang
Scripting: Bash, Lua
Mobile: Swift, Dart
Legacy: COBOL, Fortran


๐Ÿ—๏ธ Development

Project Structure

syntaxed-desktop/
โ”œโ”€โ”€ src-tauri/              # Rust backend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ main.rs         # Application entry point
โ”‚   โ”‚   โ””โ”€โ”€ lib.rs          # Core Rust logic
โ”‚   โ”œโ”€โ”€ Cargo.toml          # Rust dependencies
โ”‚   โ””โ”€โ”€ tauri.conf.json     # Tauri configuration
โ”œโ”€โ”€ index.html              # Frontend entry point
โ”œโ”€โ”€ styles.css              # Application styles  
โ”œโ”€โ”€ script.js               # Core application logic
โ”œโ”€โ”€ snippets/               # Code snippet library
โ””โ”€โ”€ package.json            # Node.js configuration

Available Scripts

npm run tauri:dev       # Development with hot reload
npm run tauri:build     # Production build
npm run tauri           # Direct Tauri CLI access

Building for Distribution

# Build optimized bundles for current platform
npm run tauri:build

# Output locations:
# Windows: src-tauri/target/release/bundle/msi/
# macOS:   src-tauri/target/release/bundle/dmg/
# Linux:   src-tauri/target/release/bundle/deb/

๐Ÿš€ Performance

Bundle Size Comparison

Framework Bundle Size Startup Time Memory Usage
Syntaxed Desktop (Tauri) ~15MB < 1s ~50MB
Electron Alternative ~150MB ~3s ~200MB
Native Web App ~5MB ~0.5s ~30MB

Why Tauri?

  • โœ… 90% smaller than Electron-based alternatives
  • โœ… Native performance with system webview
  • โœ… Memory efficient - no bundled Chromium
  • โœ… Security focused - Rust memory safety
  • โœ… Cross-platform - single codebase

๐Ÿ”ง Configuration

Window Settings

Edit src-tauri/tauri.conf.json to customize:

{
  "app": {
    "windows": [{
      "title": "Syntaxed - Professional Code Typing Trainer",
      "width": 1200,
      "height": 800,
      "minWidth": 800,
      "minHeight": 600,
      "resizable": true
    }]
  }
}

Adding New Languages

  1. Create snippet files in snippets/[language]/
  2. Update language list in script.js
  3. Test with npm run tauri:dev

๐Ÿค Contributing

We welcome contributions! Whether you're:

  • ๐Ÿ› Reporting bugs or requesting features
  • ๐Ÿฆ€ Adding Rust backend features
  • ๐ŸŒ Improving the web frontend
  • ๐Ÿ“ Enhancing documentation
  • ๐ŸŽจ Designing better UX

Development Workflow

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Test thoroughly with npm run tauri:dev
  4. Commit changes (git commit -m 'Add amazing feature')
  5. Push to branch (git push origin feature/amazing-feature)
  6. Open Pull Request

๐Ÿ“Š Roadmap

v1.1 - Desktop Polish

  • Custom application icons
  • System tray integration
  • Auto-updater functionality
  • Installer improvements

v1.2 - Rust Features

  • Native notification system
  • File system statistics storage
  • Performance optimizations
  • Native file dialogs

v2.0 - Advanced Features

  • Multiplayer typing competitions
  • Advanced analytics dashboard
  • Plugin system for custom languages
  • AI-powered difficulty adjustment

๐Ÿ“ License

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


๐Ÿ™ Acknowledgments


๐Ÿ”— Related Projects

  • ๐ŸŒ Syntaxed Web - Original browser-based version
  • ๐Ÿš€ Live Demo - Try it in your browser
  • ๐Ÿ“ฑ Syntaxed Mobile - Coming soon!

Built with โค๏ธ by Burkifa23 & Programmer-233

Powered by ๐Ÿฆ€ Rust + โšก Tauri

GitHub Download

โญ Star us if you find this useful!

About

A desktop Version of Syntaxed Built on Tauri

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published