Skip to content

rshorche/typepace

Repository files navigation

TypePace - اپلیکیشن تست سرعت تایپ

یک اپلیکیشن مدرن و مینیمال برای تست و بهبود سرعت تایپ به دو زبان فارسی و انگلیسی. این پروژه با استفاده از جدیدترین تکنولوژی‌های وب (React, TypeScript, Vite) و با تمرکز بر معماری تمیز، تجربه کاربری پویا و کدنویسی بهینه ساخته شده است.


✨ ویژگی‌ها (Features)

  • پشتیبانی دو زبانه: جابجایی آنی بین کیبورد و متون فارسی و انگلیسی.
  • بازخورد آنی:
    • بصری: تغییر رنگ حروف صحیح و غلط، کرسر چشمک‌زن برای نمایش موقعیت فعلی و انیمیشن لرزش در هنگام خطا.
    • صوتی: پخش صدای متفاوت برای تایپ صحیح و اشتباه.
  • کیبورد مجازی تعاملی: نمایش کلید فشرده شده روی کیبورد مجازی با افکت shadow.
  • منطق تایپ حرفه‌ای:
    • جلوگیری از پیشروی در صورت تایپ حرف اشتباه.
    • به خاطر سپردن خطاها (حتی پس از تصحیح، خطا در آمار محاسبه می‌شود).
  • آمار دقیق: محاسبه و نمایش زنده سرعت (WPM)، دقت، تعداد خطاها و زمان سپری شده.
  • کنترل کامل: قابلیت ریست کردن تست در هر لحظه.
  • طراحی واکنش‌گرا: چیدمان بهینه برای نمایش در اندازه‌های مختلف صفحه.

🛠️ تکنولوژی‌های استفاده شده (Tech Stack)

  • React: (با استفاده کامل از هوک‌ها)
  • Vite: ابزار ساخت (Build Tool) مدرن و فوق‌العاده سریع.
  • TypeScript: برای تضمین کیفیت و استحکام کد.
  • Tailwind CSS: برای استایل‌دهی سریع و مقیاس‌پذیر.
  • class-variance-authority (cva): برای ساخت کامپوننت‌های UI با واریانت‌های مختلف.

🏗️ معماری (Architecture)

این پروژه با معماری تمیز و مقیاس‌پذیر مبتنی بر ویژگی (Feature-Based) ساخته شده است:

  • جداسازی کامل منطق از UI: تمام منطق اصلی اپلیکیشن در یک هوک سفارشی (useKeyPress) کپسوله شده است.
  • کامپوننت‌های تک‌مسئولیتی: هر کامپوننت (Keyboard, Display, Stats) فقط یک وظیفه مشخص را به درستی انجام می‌دهد.
  • ساختار پوشه‌بندی shared و features: برای تفکیک واضح کدهای عمومی از کدهای اختصاصی هر ویژگی.

🚀 راه‌اندازی و اجرا (Setup and Run)

  1. کلون کردن ریپازیتوری:
    git clone https://github.com/rshorche/typepace.git
  2. نصب وابستگی‌ها:
    npm install
  3. اجرای پروژه در حالت توسعه:
    npm run dev

📜 اسکریپت‌های موجود (Available Scripts)

  • npm run dev: اجرای پروژه در حالت توسعه.
  • npm run build: بیلد گرفتن از پروژه برای محیط پروداکشن.
  • npm run lint: اجرای ESLint برای بررسی خطاهای کد.
  • npm run preview: پیش‌نمایش نسخه بیلد شده.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors