Skip to content

bimadevs/speed-tester

Repository files navigation

SpeedTester

SpeedTester adalah aplikasi web untuk mengukur kecepatan internet (unduh, unggah, dan ping) dengan antarmuka yang modern dan mudah digunakan. Aplikasi ini dirancang untuk memberikan hasil yang akurat dan informasi yang komprehensif tentang koneksi internet Anda.

SpeedTester Screenshot

Pembaruan Desain Terbaru

  • 🎨 Peningkatan UI/UX - Antarmuka yang lebih modern dengan animasi halus dan efek hover yang responsif
  • 🌙 Perbaikan Mode Gelap - Konsistensi warna dan kontras yang lebih baik di seluruh aplikasi
  • 📱 Peningkatan Responsivitas - Layout yang ditingkatkan untuk semua ukuran layar
  • 🎭 Animasi - Transisi yang halus dan efek fadeIn untuk pengalaman pengguna yang lebih baik
  • 🔄 Konsistensi Visual - Perbaikan pada gaya tombol, tabel, dan kartu di seluruh aplikasi

Fitur

  • 🚀 Pengukuran kecepatan unduh dengan server yang andal
  • 📤 Pengukuran kecepatan unggah yang akurat
  • ⏱️ Pengukuran ping (latensi) dengan multiple server dan fallback
  • 📱 Deteksi informasi perangkat dan jaringan lengkap
  • 🌍 Peta lokasi berdasarkan IP pengguna
  • 📊 Visualisasi riwayat hasil pengujian dengan chart interaktif
  • 📅 Penyimpanan lokal dari riwayat pengujian
  • 📈 Perbandingan dengan paket internet provider populer
  • 🌓 Mode gelap/terang yang dapat disesuaikan
  • 📱 Responsif untuk semua ukuran perangkat

Teknologi

  • Next.js - Framework React untuk produksi
  • React - Library JavaScript untuk antarmuka pengguna
  • TypeScript - Superset JavaScript dengan pengetikan statis
  • Tailwind CSS - Framework CSS utility-first
  • Chart.js - Library untuk membuat grafik
  • Axios - Library untuk permintaan HTTP
  • next-themes - Solusi tema untuk Next.js
  • React Icons - Kumpulan ikon popular

Memulai

Prasyarat

  • Node.js versi 16 atau yang lebih baru
  • npm atau yarn

Instalasi

  1. Kloning repositori ini

    git clone https://github.com/bimadevs/speed-tester.git
    cd speed-tester
  2. Instal dependensi

    npm install
    # atau
    yarn install
  3. Jalankan server pengembangan

    npm run dev
    # atau
    yarn dev
  4. Buka http://localhost:3000 di browser Anda

Struktur Proyek

speed-tester/
├── src/
│   ├── app/
│   │   ├── components/       # Komponen React yang dapat digunakan kembali
│   │   │   ├── DeviceInfo.tsx    # Komponen untuk menampilkan informasi perangkat
│   │   │   ├── Navbar.tsx        # Komponen navigasi atas
│   │   │   ├── ResultsChart.tsx  # Komponen chart untuk visualisasi riwayat
│   │   │   ├── SpeedComparison.tsx # Komponen perbandingan dengan paket internet
│   │   │   ├── SpeedMeter.tsx    # Komponen display kecepatan
│   │   │   └── SpeedTest.tsx     # Komponen utama pengujian kecepatan
│   │   ├── about/             # Halaman tentang aplikasi
│   │   │   └── page.tsx
│   │   ├── fonts/             # Font lokal
│   │   ├── globals.css        # Gaya global
│   │   ├── layout.tsx         # Layout aplikasi
│   │   └── page.tsx           # Halaman utama
│   └── ...
├── public/                    # Aset statis
├── package.json               # Dependensi dan skrip
└── ...

Cara Kerja

SpeedTester mengukur kecepatan internet dengan cara berikut:

  1. Ping Test: Mengukur waktu yang dibutuhkan untuk mengirim dan menerima paket data ke beberapa server. Kami menggunakan multiple server dengan sistem fallback untuk memastikan hasil yang akurat dan andal bahkan jika salah satu server tidak merespons.

  2. Download Test: Mengunduh file dummy berukuran standar dari server Cloudflare dan mengukur seberapa cepat data diterima. Hasil diukur dalam Mbps (Megabit per detik).

  3. Upload Test: Mengunggah data dummy ke server dan mengukur seberapa cepat data dikirim. Hasil juga diukur dalam Mbps.

Aplikasi juga mendeteksi informasi perangkat, lokasi, dan jaringan untuk memberikan konteks yang lebih lengkap tentang kondisi pengujian.

Fitur Tambahan

Deteksi Perangkat dan Lokasi

Komponen DeviceInfo menampilkan informasi lengkap tentang:

  • Browser dan Sistem Operasi
  • Resolusi layar dan spesifikasi perangkat
  • Jenis koneksi dan kualitas jaringan
  • Lokasi berdasarkan IP (kota, negara, dll)

Riwayat Pengujian

  • Menyimpan hasil pengujian secara lokal di browser pengguna
  • Menampilkan tren kecepatan internet dari waktu ke waktu
  • Grafik interaktif untuk visualisasi data
  • Statistik rata-rata dan ringkasan

Perbandingan dengan Paket Internet

  • Membandingkan hasil pengujian dengan paket internet populer di Indonesia
  • Menampilkan apakah kecepatan Anda sesuai dengan yang dijanjikan provider
  • Rekomendasi paket yang sesuai dengan kecepatan saat ini

Privasi

SpeedTester menghormati privasi pengguna:

  • Semua data disimpan secara lokal di perangkat pengguna
  • Tidak ada pelacakan atau pengumpulan data pengguna
  • Informasi perangkat dan lokasi hanya digunakan untuk membantu menganalisis hasil pengujian

Lisensi

MIT

Kontak

Jika Anda memiliki pertanyaan atau umpan balik, silakan hubungi kami melalui GitHub issue atau [email protected]

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published