Aplikasi admin untuk mengelola spa dengan fitur lengkap yang dibuat menggunakan Flutter dan Go Router.
- Splash Screen - Tampilan pembuka aplikasi
- Login - Masuk menggunakan email dan password
- Register - Daftar akun admin baru
- Home Dashboard - Overview statistik spa (total user, pesanan harian, pending, completed, revenue)
- Profile - Informasi profil admin dan statistik personal
- Order Management - Kelola semua pesanan dengan filter status
- User Management - Kelola pengguna terdaftar dengan fitur pencarian dan sorting
- Reward Management - Kelola sistem poin reward
- User Ranking - Peringkat pengguna berdasarkan poin reward
- Order Detail - Detail pesanan lengkap dengan kemampuan mengubah status (pending β booked β in progress β completed)
- User Detail - Detail pengguna dengan riwayat pesanan dan poin reward
- Account Settings - Pengaturan akun admin
- Splash Screen dengan animasi loading
- Login form dengan validasi
- Register form untuk admin baru
- Statistics cards (Total Users, Daily Orders, Pending Orders, Completed Orders)
- Revenue tracking (Today & Total Revenue)
- Quick access ke pending orders
- Order management dengan tab filtering (All, Pending, Booked, In Progress, Completed)
- User management dengan pencarian dan sorting
- Reward point management dengan history
- User ranking system
- Flutter - Framework utama
- Go Router - Navigation dan routing
- Material Design 3 - UI/UX Design
- Mock Data - Data statis untuk demo
lib/
βββ main.dart # Entry point aplikasi
βββ models/ # Data models
β βββ user.dart
β βββ order.dart
β βββ reward_point.dart
β βββ dashboard_stats.dart
βββ screens/ # UI Screens
β βββ auth/ # Authentication screens
β βββ home/ # Dashboard & profile screens
β βββ management/ # Management screens
β βββ details/ # Detail screens
βββ widgets/ # Reusable widgets
β βββ common_widgets.dart
βββ utils/ # Utilities
βββ routes.dart # Go Router configuration
βββ constants.dart # App constants & strings
- Pending β Booked β In Progress β Completed
- Cancel option tersedia di setiap status (kecuali completed)
- Filter berdasarkan status (Active/Inactive)
- Sorting berdasarkan nama, tanggal join, atau poin reward
- Pencarian berdasarkan nama, email, atau nomor telepon
- Track poin yang diperoleh (earned) dan ditukarkan (redeemed)
- History lengkap transaksi poin
- Manual point addition untuk admin
- Real-time statistics
- Revenue tracking
- User growth metrics
- Order completion rates
- Flutter SDK (3.9.2 atau lebih tinggi)
- Dart SDK
- Android Studio / VS Code
- Git
-
Clone repository
git clone <repository-url> cd spa_admin
-
Install dependencies
flutter pub get
-
Run aplikasi
flutter run
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.8
http: ^1.6.0
go_router: ^17.0.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0- Primary: Blue 900 (#0D47A1)
- Secondary: Orange, Green, Purple untuk status
- Background: Grey 50 (#FAFAFA)
- Headers: Bold, 18-24px
- Body: Regular, 14-16px
- Captions: Light, 12px
- Cards: Elevation 4, Border radius 12px
- Buttons: Border radius 12px, consistent padding
- Status Chips: Rounded, color-coded
- Search Bars: Filled background, rounded borders
- ID, name, email, phone
- Created date, reward points
- Active status, profile image
- ID, user info, service details
- Booking date, created date
- Status enum, total amount
- Notes, service list
- ID, user info, points
- Reason, created date
- Type (earned/redeemed)
Pending β Booked β In Progress β Completed
β β β
Cancelled Cancelled Cancelled
- β Android
- β iOS
- β Web
- β Windows
- β macOS
- β Linux
- Fork project ini
- Buat feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buat Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Developer: Your Name
- Email: your.email@example.com
- Project: https://github.com/yourusername/spa_admin
Note: Aplikasi ini menggunakan mock data untuk demo. Untuk implementasi production, integrate dengan real API backend.