Skip to content

fjrfthrrhmn/GacoSplit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GacoSplit Logo

Split bill Gacoan โ€” gak pusing lagi urusan bayar-bayaran!
Aplikasi web untuk menghitung pembagian tagihan makan bareng secara otomatis. Khusus dirancang buat menu Mie Gacoan.


Java 17+ Spring Boot 4.0.6 TailwindCSS v3 H2 Database License MIT Last Commit

GacoSplit Homepage Preview

๐Ÿ“‹ Project Overview

GacoSplit lahir dari masalah klasik: abis makan bareng, pada sibuk ngitung pake kalkulator HP, ujung-ujungnya ada yang ngerasa dibayarin kurang atau kebanyakan. Aplikasi ini nyelesain itu semua โ€” tinggal masukin pesanan, beres.

Cara Kerja

Tahap Kegiatan
1 Buat sesi dan masukin nama temen-temen yang ikut makan
2 Pilih menu Gacoan โ€” ada yang pesen sendiri, ada yang dimakan bareng
3 Sistem otomatis hitung total per orang + PPN 11%
4 Tinggal salin hasilnya dan kirim ke grup WhatsApp

Fitur Utama

Fitur Deskripsi
๐Ÿ‘ฅ Kelola Peserta Tambah & hapus peserta (2โ€“10 orang)
๐Ÿ Input Personal Masing-masing pesen menu sendiri-sendiri
๐Ÿค Menu Bersama Item bareng dibagi rata ke semua peserta
๐Ÿงฎ Auto Calculate Total per orang + PPN langsung muncul
๐Ÿ“‹ Salin Hasil Copy rincian tagihan ke clipboard
๐Ÿ”„ Reset Sesi Mulai dari awal tanpa reload halaman
๐Ÿ’ธ PPN 11% Pajak dihitung otomatis dari DPP per orang

๐Ÿงฎ Logika Perhitungan

DPP = TotalPersonal + (TotalShared / JumlahPeserta)
PPN = DPP ร— 11% (dibulatkan ke rupiah penuh)
TotalTagihan = DPP + PPN

Setiap orang liat rinciannya: total pesanan sendiri + bagian menu bareng + PPN 11%. Hasil akhir tinggal di-copy ke WhatsApp.


๐ŸฅŸ Menu Gacoan

Data menu bersumber dari Tokopedia Blog.

Menu Kategori Harga
Mie Gacoan Mie Rp 10.000
Mie Gacoan lvl 6 โ€“ 8 Mie Rp 10.900
Mie Hompimpa Mie Rp 10.000
Mie Hompimpa lvl 6 โ€“ 8 Mie Rp 10.900
Mie Suit Mie Rp 10.000
Udang Keju Cemilan Rp 9.100
Udang Rambutan Cemilan Rp 9.100
Lumpia Udang Cemilan Rp 9.100
Siomay Cemilan Rp 9.100
Pangsit Goreng Cemilan Rp 10.000
Es Gobak Sodor Es Rp 9.100
Es Teklek Es Rp 5.900
Es Sluku Bathok Es Rp 5.900
Es Petak Umpet Es Rp 9.100
Air Mineral Minuman Rp 4.100
Lemon Tea Minuman Rp 5.900
Milo Minuman Rp 8.200
Orange Minuman Rp 5.000
Es Teh Minuman Rp 4.100
Tea Tarik Minuman Rp 6.400
Vanila Latte Minuman Rp 8.200
Thai Tea Minuman Rp 8.200
Thai Green Tea Minuman Rp 8.200
Es Coklat Minuman Rp 8.200

๐Ÿ—๏ธ Arsitektur

Aplikasi ini monolitik โ€” backend dan frontend jalan dalam satu server Spring Boot. User buka halaman di browser, JavaScript ngomong sama API backend, backend ngurus data dan perhitungan.

Tech Stack

Layer Teknologi
Backend Java 17+, Spring Boot 4.0.6, Maven
Frontend Thymeleaf, Vanilla JS, TailwindCSS v3 (CDN)
Database H2 (file-based: ~/test)
ORM Spring Data JPA + Hibernate 7

๐Ÿ“‚ Struktur Proyek

Lokasi Konten
src/main/java/.../gacosplit/ Kode backend โ€” controller, service, model, repository
src/main/resources/templates/ Halaman Thymeleaf (HTML)
src/main/resources/static/ Aset frontend statis โ€” CSS, JavaScript
src/main/resources/static/js/ app.js, api.js, github.js โ€” logika frontend
src/main/resources/static/css/ styles.css โ€” kustom styling
public/ Aset branding & visual โ€” Banner, Logo, UI preview screenshot
docs/ Dokumentasi lengkap โ€” lihat tabel di bawah

๐Ÿ”‘ Function Penting

Function Lokasi Penjelasan
hitungTagihan() app.js Otak perhitungan di frontend โ€” ngitung total + PPN tiap orang
renderSummary() app.js Nampilin hasil perhitungan ke layar biar user bisa liat
formatHasil() app.js Ubah hasil jadi teks rapi buat di-copy ke WhatsApp
calculate() SessionController.java Endpoint API yang panggil CalculationService buat hitung tagihan
findBySessionIdAndIsSharedTrue() ItemRepository.java Query otomatis buat ambil semua item bersama dalam satu session

๐Ÿ› ๏ธ Memulai

Prasyarat

  • Java 17+ โ€” Download JDK
  • Maven (opsional โ€” pakai mvnw.cmd bawaan project)

Instalasi

git clone https://github.com/fjrfthrrhmn/GacoSplit.git
cd GacoSplit
./mvnw.cmd spring-boot:run

Buka http://localhost:8080 di browser dan klik Mulai Hitung!.

Frontend pake TailwindCSS via CDN โ€” gak perlu npm install atau build CSS.


๐Ÿ‘ฅ Teams

Name Role GitHub Instagram
BENEDICTUS MIKAEL Data Model - @beben_lionel
FAJAR FATHURRAHMAN Frontend Developer @fjrfthrrhmn @fjrfthrrhmn
ISAD FIRDAUS UI/UX - @isadfirdaus29
SHAMAS KHALIS Frontend Developer @shmmas @shmmass_

๐Ÿ“š Dokumentasi

Dokumen Deskripsi
DESIGN.md SSOT โ€” Apple-inspired design system (warna, font, layout)
AGENTS.md Role definitions untuk AI agents dan tim pengembangan
CHANGELOG.md Riwayat rilis dan catatan perubahan tiap versi
docs/PRODUCT.md Gambaran produk, problem yang dipecahkan, dan solusi
docs/FEATURES.md Prioritas MoSCoW, acceptance criteria, roadmap fitur
docs/ARCHITECTURE.md Data model, endpoint API, dan arsitektur sistem
docs/ROADMAP.md Milestone pengembangan dan rencana ke depan
docs/UI-UX.md Token desain: palet warna, tipografi, shadow, spacing
docs/UX-FLOW.md Alur pengguna dari awal buka aplikasi sampai hasil
docs/UX-WRITING.md Panduan copywriting dan tone of voice aplikasi

โš ๏ธ Keterbatasan & Rencana

Keterbatasan Saat Ini Rencana ke Depan
Item bersama dibagi rata (belum ada rasio kustom) Berbagi sesi via tautan / QR code
Belum ada autentikasi / akun pengguna Riwayat transaksi antar sesi
Data disimpan di H2 lokal Input struk via OCR
Lingkup MVP โ€” satu sesi sekali pakai Progressive Web App (PWA) & Dark mode

Dibikin dengan โค๏ธ โ€” biar gak ada lagi drama split bill di circle pertemanan ๐Ÿ˜ญ