c1de380d886c3dcbfadc5798f410fdf20e010f90
ChronoType β³
Aplikasi web Single Page Application (SPA) Typing Test Minimalis & Roguelite Typing Game ("Game Mode") yang modern, elegan, dan bebas distraksi.
Dibangun menggunakan kombinasi teknologi modern: Vue 3 (Composition API), Vite, TypeScript, Tailwind CSS v4, dan Pinia.
β¨ Fitur Utama
1. π― Classic Mode (Zen Typing Test)
- Distraction-Free (Monkeytype Style): Tampilan terpusat di tengah layar tanpa elemen yang mengganggu fokus.
- Top-Edge Progress Bar: Indikator timer berupa garis tipis 3px di paling atas layar dari ujung ke ujung (edge-to-edge) dengan amber glow.
- Pilihan Durasi Cepat: Opsi durasi pengetikan standar (15s, 30s, 60s).
- Smooth 3-Line Viewport: Area pengetikan 3 baris dengan transisi baris yang halus (smooth translate shift) sehingga kata aktif selalu berada di tengah tanpa loncat atau hilang.
- Precise Floating Caret: Kursor animasi halus bercahaya yang posisinya presisi menempel di sisi kiri huruf yang akan diketik.
- Statistik Mendalam: Mengukur WPM, Raw WPM, Akurasi (%), serta jumlah karakter benar/salah.
2. βοΈ Game Mode (Roguelite Typing)
- Floor Level Progression: Tantangan berjenjang dari Floor 1 s.d. Boss Floor (setiap kelipatan 5) dengan target skor yang semakin menantang.
- Dynamic Time Escalation: Durasi waktu menyusut dan laju waktu berdetak semakin cepat seiring naiknya floor (+3.5% per floor).
- Gold & Combo Economy: Dapatkan koin emas (
πͺ) dan score multiplier dari rantai kata benar (combo streak). - The Rogue Merchant (Shop): Toko relic antar-floor untuk membeli item pasif dan upgrade stat:
- β³ Hourglass of Chronos (Memperlambat laju timer sebesar 20%).
- β±οΈ Temporal Pocket Watch (Tambahan durasi awal +6s di setiap floor).
- β Overtime Espresso (Bonus +2.5s per 5 combo streak).
- β¨ Chronomancer Nib (+0.4s waktu ekstra setiap kata benar).
- π‘οΈ Liquid Eraser (Typo pertama tidak memutus combo streak).
- β‘ Adrenaline Surge (2.5x Score Multiplier saat waktu < 10 detik).
- βοΈ Golden Quill (+35% score multiplier tambahan).
- π§ Scholar's Monocle (Kata 7+ huruf bernilai 2.5x score).
- Run Over & Summary: Layar evaluasi pencapaian run dengan quick restart.
3. β¨οΈ Keyboard Shortcuts
- Space: Berpindah ke kata berikutnya dan mencatat histori akurasi.
- Backspace: Menghapus atau memperbaiki karakter yang salah dalam kata aktif.
- Tab: Restart tes instan kapan saja.
- Tab + Enter: Mulai tes / run baru setelah sesi selesai.
π οΈ Tech Stack
- Framework: Vue 3 (
<script setup>+ Composition API) - Build Tool: Vite 6
- Bahasa: TypeScript (Strict Mode)
- Styling: Tailwind CSS v4 (via
@tailwindcss/vite) - State Management: Pinia
- Routing: Vue Router 4
- Icons: Lucide Vue Next
- Typography: Google Fonts (Plus Jakarta Sans & JetBrains Mono)
π Struktur Folder
typing-test/
βββ src/
β βββ assets/ # Aset statis
β βββ components/ # Komponen UI Reusable
β β βββ TopProgressBar.vue # Timer bar tipis edge-to-edge
β β βββ TypingArea.vue # Viewport 3-baris & floating caret engine
β β βββ RogueHud.vue # HUD game: Floor, Target, Gold & Streak
β β βββ ShopModal.vue # Merchant toko relic antar floor
β β βββ GameOverModal.vue # Ringkasan kekalahan & run restart
β β βββ ResultModal.vue # Ringkasan WPM & Akurasi mode Classic
β β βββ Navbar.vue # Mode switcher (Classic Mode vs Game Mode)
β βββ data/ # Data statis (words.ts 1000 kata, relics.ts)
β βββ router/ # Konfigurasi rute SPA
β βββ stores/ # Pinia Stores (typingStore.ts, rogueStore.ts)
β βββ views/ # Halaman utama (HomeView.vue, AboutView.vue)
β βββ App.vue # Root layout
β βββ main.ts # Entrypoint aplikasi
β βββ style.css # Global Tailwind CSS v4 styling
β βββ vite-env.d.ts # TypeScript ambient declarations
βββ AGENTS.md # Dokumentasi arsitektur untuk developer / AI agents
βββ CLAUDE.md # Referensi developer
βββ DESIGN.md # Design system & spesifikasi token visual
βββ index.html
βββ package.json
βββ vite.config.ts
π Cara Menjalankan Project
Prasyarat
Pastikan Anda telah menginstal:
1. Clone atau Buka Folder Project
cd e:\Personal\typing-test
2. Install Dependencies
npm install
3. Jalankan Development Server
npm run dev
Setelah server berjalan, buka URL lokal yang ditampilkan pada terminal (biasanya http://localhost:5173) di browser Anda.
π¦ Perintah Script Lainnya
| Perintah | Deskripsi |
|---|---|
npm run dev |
Menjalankan local development server dengan Hot Module Replacement (HMR). |
npm run build |
Menjalankan type-checking TypeScript (vue-tsc) dan membuat production bundle di folder dist/. |
npm run preview |
Menjalankan preview lokal dari hasil build production. |
Languages
Vue
54.7%
TypeScript
43.5%
HTML
1.4%
CSS
0.4%