Skip to content

Kiy0w0/Mizu-Anime-Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌊 Mizu Anime DB

GitHub Flutter License

Aplikasi Flutter buat nyari dan explore karakter anime. UI-nya clean, cepet, enak diliat. Data diambil dari Jikan API (MyAnimeList).

Note: Ini project tugas kuliah gw buat mata kuliah Pengembangan Aplikasi Mobile.

Fitur

Characters Screen

  • 🔍 Search - Cari karakter by nama
  • 🎲 Shuffle Characters - Setiap refresh/shuffle tampil karakter random berbeda
  • 📊 Top Characters - Liat karakter paling populer dari database besar
  • 📖 Detail Karakter - Info lengkap: nama (romaji & kanji), foto, bio, jumlah favorites, anime appearances
  • 🎙️ Voice Actors - Liat siapa aja yang voice karakter, lengkap dengan bahasa
  • Fast Loading - Gambar di-cache, loading pake shimmer animation

Anime Screen

  • 🎬 Browse Anime - Screen terpisah untuk browse anime
  • 🔎 Search Anime - Cari anime by nama
  • 📋 Anime List - List anime dengan thumbnail & info
  • 🎯 Filter Characters - Tap anime untuk liat semua karakternya

Screenshot

(Coming soon - males screenshot wkwk)

Cara Install & Run

Yang lu perluin:

  • Flutter SDK 3.0+
  • Text editor (VS Code / Android Studio)
  • Device atau Emulator

Langkah-langkah:

# 1. Clone repo ini
git clone https://github.com/Kiy0w0/Mizu-Anime-Database.git
cd Mizu-Anime-Database

# 2. Install dependencies
flutter pub get

# 3. Jalanin aplikasinya
flutter run

Kalo mau run di browser (chrome):

flutter run -d chrome

API

Pake Jikan API v4 (unofficial MyAnimeList API). Gratis, ga perlu API key.

Endpoints yang dipake:

  • GET /characters - List & search karakter
  • GET /characters/{id}/full - Detail karakter lengkap

Rate limit: 1 request per detik (udah di-handle di code jadi ga perlu khawatir)

Customization

Ganti Warna Theme

Edit lib/main.dart:

colorScheme: const ColorScheme.dark(
  primary: Color(0xFF0EA5E9),    // Sky blue
  secondary: Color(0xFF3B82F6),  // Ocean blue
  surface: Color(0xFF0f172a),    // Dark background
),

Ubah Layout Grid

Edit lib/screens/home_screen.dart:

SliverGridDelegateWithFixedCrossAxisCount(
  crossAxisCount: 2,        // Jumlah kolom (2 = 2 cards per baris)
  childAspectRatio: 0.7,    // Rasio tinggi/lebar card
),

Todo List

Fitur yang pengen ditambahin kedepannya:

  • Filter by anime ✅
  • Info voice actors ✅
  • Implementasi Rate Us functionality
  • Implementasi Share App
  • Page Donate/Support yang proper
  • Favorites/bookmark (pake local storage)
  • Toggle light/dark theme
  • Perbandingan karakter
  • Offline mode

Known Issues

  • Kalo scroll terlalu cepet bisa kena rate limit (429 error) - solusinya slow down aja scrollingnya
  • Beberapa karakter ga punya foto/image

Konteks Project

App ini dibuat sebagai tugas kuliah untuk mata kuliah Pengembangan Aplikasi Mobile. Goal-nya adalah bikin Flutter app yang:

  • Consume REST API
  • Implement state management yang proper
  • Punya UI/UX yang clean dan modern
  • Follow Flutter best practices

Awalnya emang cuma tugas, tapi ternyata asik juga bikin app ini jadi mungkin bakal gw lanjutin develop-nya wkwk

License & Credits

Semua data anime © MyAnimeList. Project ini purely untuk keperluan edukasi.

Credits:

📄 License

Project ini pakek MIT License. Bebas dipake, dimodif, didistribusiin. Cek LICENSE file untuk detail lengkapnya.

Author

Kiy0w0 - GitHub

Mahasiswi yang lagi belajar mobile dev. Open buat feedback dan saran!

Ada bug atau mau request fitur? Buka issue aja!

Star ⭐ kalo suka ya!


Made With 💙 By MizuNetworking

Releases

No releases published

Packages

 
 
 

Contributors