PokeVault adalah aplikasi manajemen inventaris Pokemon berbasis mobile yang dibangun menggunakan Flutter dan Firebase. Aplikasi ini memungkinkan pengguna (Trainer) untuk mensimulasikan pengalaman menyimpan data Pokemon ke dalam "PC Box" layaknya di dalam game, dengan fitur data real-time dan autentikasi yang aman.
Login Screen |
Inventory (Home) |
Detail Pokemon |
- Email & Password: Pendaftaran dan login akun Trainer baru.
- Google Sign-In: Login cepat menggunakan akun Google (One-tap login).
- Auto-Session: Pengguna tetap login meskipun aplikasi ditutup (Persisted Auth State).
- Catch (Create): Menambahkan data Pokemon baru dengan input Nama, Tipe, dan URL Gambar.
- My PC (Read): Menampilkan daftar Pokemon dalam bentuk Grid yang responsif.
- Release (Delete): Menghapus data Pokemon dari database.
- Real-time Updates: Data otomatis diperbarui tanpa perlu refresh layar (menggunakan Firestore Streams).
- Random Stats Generator: Saat menangkap Pokemon, Level (1-100) dan CP (Combat Power) di-generate secara acak oleh sistem, memberikan sensasi "Gacha" yang seru.
- Dynamic Elements: Warna kartu dan background menyesuaikan dengan Tipe Elemen Pokemon (Api = Merah, Air = Biru, dst).
- Favorite System: Tandai Pokemon favoritmu dengan ikon bintang.
- Smart Profile: Menampilkan statistik jumlah tangkapan dan jumlah favorit.
- Specialist Title: Badge di profil akan berubah otomatis (misal: "Fire Master") berdasarkan tipe elemen terbanyak yang kamu miliki.
- Framework: Flutter (Dart)
- Backend & Database: Firebase Firestore (NoSQL Cloud Database)
- Authentication: Firebase Auth & Google Sign In
- Architecture: MVC Lite (Model-View-Service Pattern)
lib/
├── main.dart # Entry point & Wrapper
├── firebase_options.dart # Konfigurasi Firebase
│
├── models/
│ └── pokemon_model.dart # Data Blueprint (JSON Serialization)
│
├── services/
│ ├── auth_service.dart # Logic Login/Register/Google
│ └── database_service.dart # Logic CRUD Firestore
│
├── screens/
│ ├── wrapper.dart # Session Manager
│ ├── main_nav.dart # Bottom Navigation Logic
│ │
│ ├── auth/ # Halaman Login & Register
│ ├── home/ # Halaman Inventory & Detail
│ ├── forms/ # Halaman Add (Catch)
│ └── profile/ # Halaman Profil User
│
└── widgets/
└── pokemon_card.dart # Reusable UI Component
git clone https://github.com/username/pokevault-flutter.gitMasuk ke folder project dan jalankan:
flutter pub get- Buat project baru di Firebase Console.
- Aktifkan Authentication (Email/Password & Google).
- Aktifkan Firestore Database.
- Download
google-services.jsondan letakkan diandroid/app/.
flutter run

