https://github.com/rizz404/project-3
https://github.com/rizz404/project-3
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/rizz404/project-3
- Owner: Rizz404
- Created: 2025-07-08T10:26:10.000Z (12 months ago)
- Default Branch: gacor_parah
- Last Pushed: 2025-07-13T05:07:51.000Z (11 months ago)
- Last Synced: 2025-07-13T07:19:38.788Z (11 months ago)
- Language: Dart
- Size: 6.62 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Aplikasi POS Order Bakso Pentol
Aplikasi Point of Sale (POS) berbasis mobile yang dibuat untuk memudahkan proses pemesanan dan manajemen di warung Bakso Pentol. Aplikasi ini dikembangkan sebagai solusi digital untuk admin/kasir, dengan fokus pada pengelolaan produk, pesanan, dan transaksi secara efisien.
---
## Daftar Isi
- [Aplikasi POS Order Bakso Pentol](#aplikasi-pos-order-bakso-pentol)
- [Daftar Isi](#daftar-isi)
- [Peran \& Tanggung Jawab](#peran--tanggung-jawab)
- [Fitur Utama](#fitur-utama)
- [Teknologi \& Arsitektur](#teknologi--arsitektur)
- [Arsitektur](#arsitektur)
- [Tangkapan Layar (Screenshot)](#tangkapan-layar-screenshot)
- [Prasyarat \& Instalasi](#prasyarat--instalasi)
- [Struktur Proyek](#struktur-proyek)
---
## Peran & Tanggung Jawab
| NIM | Nama | Peran & Tanggung Jawab |
| :--- | :--- | :--- |
| **1122140051** | **Rizqiansyah Ramadhan** | **Lead Developer**. Bertanggung jawab atas perancangan arsitektur, implementasi, dan pengembangan keseluruhan fungsionalitas aplikasi dari awal hingga akhir. |
| **1122140055** | **Fendi Andriyanto** | **System Analyst & Documenter**. Bertugas membuat dokumen *Software Requirements Specification* (SRS) secara detail sebagai landasan utama pengembangan. |
| **1122140088** | **Lukman Hakim** | **Client Relations & Requirement Gathering**. Bertugas untuk segala hal yang berkaitan dengan klien, termasuk melakukan wawancara, mengumpulkan kebutuhan, dan memastikan proyek sejalan dengan ekspektasi pengguna. |
| **1122140098** | **Andreas Renaldo C.M**| **Client Relations & Requirement Gathering**. Bekerja sama dengan Lukman Hakim dalam menjembatani komunikasi antara tim pengembang dan klien, serta melakukan analisis kebutuhan awal. |
## Fitur Utama
* **Autentikasi Admin**: Proses registrasi dan login yang aman untuk admin.
* **Manajemen Produk**: Admin dapat melakukan operasi CRUD (Create, Read, Update, Delete) untuk data produk bakso.
* **Manajemen Kategori**: Admin dapat mengelola kategori produk untuk pengelompokan menu yang lebih baik.
* **Proses Pemesanan (Order)**: Antarmuka untuk membuat pesanan baru, memilih produk, menentukan jumlah, dan menghitung total transaksi.
* **Manajemen Pesanan**: Admin dapat melihat dan memperbarui status setiap pesanan yang masuk (misalnya: diproses, selesai).
* **Riwayat Pesanan**: Fitur untuk melihat daftar transaksi yang telah selesai, yang berguna untuk rekapitulasi dan pelaporan.
* **Logout**: Mengamankan sesi admin dengan keluar dari sistem.
---
## Teknologi & Arsitektur
Proyek ini dibangun menggunakan Flutter dengan *backend-as-a-service* dari Firebase.
* **Framework**: Flutter
* **Bahasa**: Dart
* **Backend & Database**: Firebase (Authentication, Firestore, Storage, Cloud Messaging)
* **State Management**: `flutter_riverpod`
* **Routing**: `auto_route`
* **Networking**: `dio`
* **Service Locator**: `get_it`
* **Local Storage**: `flutter_secure_storage` & `shared_preferences`
### Arsitektur
Proyek ini mengadopsi arsitektur *feature-driven* yang memisahkan setiap fungsionalitas ke dalam modulnya masing-masing. Struktur ini dirancang untuk skalabilitas dan kemudahan pemeliharaan.
* `๐ lib/core`: Berisi komponen inti aplikasi seperti konfigurasi *routing* (`auto_route`), tema, konstanta, dan *utility classes* yang bersifat umum.
* `๐ lib/data`: Lapisan data yang bertanggung jawab atas sumber data. Berisi *models* (representasi objek data), *repositories* (abstraksi untuk pengambilan data dari Firebase), dan *seeders* (untuk data awal).
* `๐ lib/features`: Direktori utama tempat setiap fitur aplikasi berada (misalnya `auth`, `order`, `menu_item`). Setiap folder fitur berisi *logic* (providers/state), *UI* (screens/widgets), dan komponen spesifik lainnya.
* `๐ lib/shared`: Berisi *widgets*, *services*, dan *models* yang digunakan oleh lebih dari satu fitur untuk menghindari duplikasi kode.
---
## Tangkapan Layar (Screenshot)








-----
## Prasyarat & Instalasi
Pastikan Flutter SDK versi 3.x.x atau yang lebih baru sudah terpasang di mesin Anda.
1. **Clone Repositori**
```bash
git clone -b gacor_parah [https://github.com/ariebhewhe/globalSabtuGenap2425/](https://github.com/ariebhewhe/globalSabtuGenap2425/)
cd globalSabtuGenap2425
```
2. **Konfigurasi Firebase**
Proyek ini memerlukan koneksi ke proyek Firebase.
* Buat proyek baru di [Firebase Console](https://console.firebase.google.com/).
* Tambahkan aplikasi Android dan/atau iOS ke proyek Firebase Anda.
* Unduh file konfigurasi `google-services.json` (untuk Android) dan letakkan di direktori `android/app/`.
* Unduh file `GoogleService-Info.plist` (untuk iOS) dan konfigurasikan di Xcode.
* Aktifkan layanan **Authentication**, **Firestore Database**, dan **Storage**.
3. **Instal Dependencies**
Jalankan perintah berikut dari direktori root proyek:
```bash
flutter pub get
```
4. **Jalankan Aplikasi**
```bash
flutter run
```
-----
## Struktur Proyek
Struktur direktori `lib` yang digunakan dalam proyek ini adalah sebagai berikut:
```
โโโ ๐lib
โโโ ๐core
โ โโโ ๐abstractions
โ โโโ ๐constants
โ โโโ ๐helpers
โ โโโ ๐routes
โ โโโ ๐theme
โ โโโ ๐utils
โโโ ๐data
โ โโโ ๐models
โ โโโ ๐repositories
โ โโโ ๐seeders
โโโ ๐features
โ โโโ ๐auth
โ โโโ ๐cart
โ โโโ ๐category
โ โโโ ๐home
โ โโโ ๐menu_item
โ โโโ ๐order
โ โโโ ๐payment_method
โ โโโ ๐profile
โ โโโ ๐restaurant_table
โ โโโ ๐table_reservation
โ โโโ ๐user
โโโ ๐shared
โ โโโ ๐models
โ โโโ ๐providers
โ โโโ ๐screens
โ โโโ ๐services
โ โโโ ๐widgets
โโโ firebase_options.dart
โโโ main.dart
โโโ providers.dart
```