An open API service indexing awesome lists of open source software.

https://github.com/rizz404/project-3


https://github.com/rizz404/project-3

Last synced: 11 months ago
JSON representation

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)

![gambar](images/gambar-1.jpg)
![gambar](images/gambar-2.jpg)
![gambar](images/gambar-3.jpg)
![gambar](images/gambar-4.jpg)
![gambar](images/gambar-5.jpg)
![gambar](images/gambar-6.jpg)
![gambar](images/gambar-7.jpg)
![gambar](images/gambar-8.jpg)

-----

## 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
```