یک اپلیکیشن مدرن و مینیمال برای تست و بهبود سرعت تایپ به دو زبان فارسی و انگلیسی. این پروژه با استفاده از جدیدترین تکنولوژیهای وب (React, TypeScript, Vite) و با تمرکز بر معماری تمیز، تجربه کاربری پویا و کدنویسی بهینه ساخته شده است.
- پشتیبانی دو زبانه: جابجایی آنی بین کیبورد و متون فارسی و انگلیسی.
- بازخورد آنی:
- بصری: تغییر رنگ حروف صحیح و غلط، کرسر چشمکزن برای نمایش موقعیت فعلی و انیمیشن لرزش در هنگام خطا.
- صوتی: پخش صدای متفاوت برای تایپ صحیح و اشتباه.
- کیبورد مجازی تعاملی: نمایش کلید فشرده شده روی کیبورد مجازی با افکت
shadow. - منطق تایپ حرفهای:
- جلوگیری از پیشروی در صورت تایپ حرف اشتباه.
- به خاطر سپردن خطاها (حتی پس از تصحیح، خطا در آمار محاسبه میشود).
- آمار دقیق: محاسبه و نمایش زنده سرعت (WPM)، دقت، تعداد خطاها و زمان سپری شده.
- کنترل کامل: قابلیت ریست کردن تست در هر لحظه.
- طراحی واکنشگرا: چیدمان بهینه برای نمایش در اندازههای مختلف صفحه.
- React: (با استفاده کامل از هوکها)
- Vite: ابزار ساخت (Build Tool) مدرن و فوقالعاده سریع.
- TypeScript: برای تضمین کیفیت و استحکام کد.
- Tailwind CSS: برای استایلدهی سریع و مقیاسپذیر.
- class-variance-authority (cva): برای ساخت کامپوننتهای UI با واریانتهای مختلف.
این پروژه با معماری تمیز و مقیاسپذیر مبتنی بر ویژگی (Feature-Based) ساخته شده است:
- جداسازی کامل منطق از UI: تمام منطق اصلی اپلیکیشن در یک هوک سفارشی (
useKeyPress) کپسوله شده است. - کامپوننتهای تکمسئولیتی: هر کامپوننت (
Keyboard,Display,Stats) فقط یک وظیفه مشخص را به درستی انجام میدهد. - ساختار پوشهبندی
sharedوfeatures: برای تفکیک واضح کدهای عمومی از کدهای اختصاصی هر ویژگی.
- کلون کردن ریپازیتوری:
git clone https://github.com/rshorche/typepace.git
- نصب وابستگیها:
npm install
- اجرای پروژه در حالت توسعه:
npm run dev
npm run dev: اجرای پروژه در حالت توسعه.npm run build: بیلد گرفتن از پروژه برای محیط پروداکشن.npm run lint: اجرای ESLint برای بررسی خطاهای کد.npm run preview: پیشنمایش نسخه بیلد شده.