2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00
2026-08-27 17:57:30 +07:00

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


πŸ“ 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.
S
Description
No description provided
Readme
25 MiB
Languages
Vue 54.7%
TypeScript 43.5%
HTML 1.4%
CSS 0.4%