GaweIn adalah sebuah platform aplikasi mobile terpadu yang menjembatani Pencari Kerja dengan Perekrut di perusahaan. Aplikasi ini dirancang untuk memudahkan proses melamar pekerjaan, pencarian kursus peningkatan karier, serta membangun ekosistem komunitas profesional bagi para penggunanya.
Aplikasi GaweIn saat ini difokuskan dan dioptimalkan untuk platform Android.
- Autentikasi Pengguna
- Registrasi & Login (Email & Password).
- Lupa Password & Konfigurasi OTP/Recovery.
- Peran (Role) saat register
- Pencari Kerja: Mampu melihat, mencari, dan melamar lowongan kerja.
- Perekrut / Perusahaan: Mampu mempublikasikan dan mengelola lowongan kerja di perusahaan.
- Manajemen Lowongan [MVP]
- Penambahan lowongan kerja oleh Perekrut.
- Daftar pelamar pada setiap lowongan beserta fitur terima/tolak (Approval/Reject).
- Melamar Pekerjaan [MVP]
- Pencarian lowongan beserta detail (gaji, deskripsi).
- Proses melamar kerja (Apply) secara instan.
- Kursus [MVP]
- Menyediakan kursus yang dapat diikuti pengguna.
- Komunitas
- Pembuatan postingan sharing pengalaman, gambar/foto.
- Kolom komentar dan fitur Like/Love antar pengguna.
- Sistem penghapusan konten otomatis dengan keamanan hapus kaskade (menghapus komentar terkait).
- Profil & Personalisasi
- Biodata personal pengguna.
- Pengelolaan profil dan update Avatar (Photo Profile).
- Kursus & Edukasi
- Kurasi dan daftar kursus/pelatihan untuk meningkatkan skill Pencari Kerja (Tersedia tab kursus).
Aplikasi GaweIn dibangun menggunakan teknologi modern yang efisien:
- Framework: Flutter (Dart)
- Target Platform (Cakupan): Android
- State Management: BLoC (Business Logic Component) via
flutter_bloc - UI Components: Material Design
- Backend-as-a-Service: Supabase (BaaS)
- Database: Supabase Data API)
- Authentication: Supabase Auth, Google oauth
- Storage: Supabase Cloud Storage (untuk menyimpan Avatar, Lampiran Profile, dan Gambar Postingan)
Aplikasi ini diorganisasikan berdasarkan beberapa folder, yaitu
lib/
├── blocs/ # Berisi manajemen state (seperti AuthBloc)
├── models/ # Data/Entity model representatif dari database (UserModel, dsb)
├── screens/ # View/UI Pages (Login, Home, Lowongan, Komunitas, dll)
├── services/
├── widgets/ # Komponen kustom yang dapat digunakan ulang (Reusable UI)
└── main.dart # Entry point dan inisialisasi aplikasi beserta Dependency Injection
- Pastikan Anda sudah menginstal Flutter SDK versi terbaru.
- Clone repositori ini.
- Buatlah file bernama
.envdi dalam root project dan tambahkan kunci Supabase Anda:SUPABASE_URL=URL_SUPABASE_ANDA SUPABASE_ANON_KEY=ANON_KEY_SUPABASE_ANDA
- Instal dependensi:
flutter pub get
- Jalankan aplikasi di Emulator Android atau Perangkat Fisik (Android):
flutter run