ChatKasir adalah sistem aplikasi pencatatan transaksi kasir cerdas yang dirancang khusus untuk UMKM Indonesia. Aplikasi ini memanfaatkan Artificial Intelligence (AI) - Named Entity Recognition (NER) untuk membaca, mengekstrak, dan menghitung pesanan secara otomatis langsung dari teks obrolan (seperti dari WhatsApp).
Selain itu, ChatKasir dilengkapi dengan asisten chatbot TanyaAI (berbasis Google Gemini) untuk mengedukasi pemilik UMKM seputar bisnis, serta Dashboard Analitik untuk memantau performa penjualan.
Anda dapat mengakses dan mencoba ekosistem ChatKasir yang sudah berjalan secara langsung di cloud melalui tautan berikut:
- Aplikasi Utama (Frontend - Vercel): [https://chatkasir.vercel.app]
- Core Service (Backend API - Vercel): [https://chat-kasir-backend.vercel.app]
- Asisten Cerdas (AI Inference API - Hugging Face Spaces): [https://achmadrifan-chatkasir.hf.space]
- Dashboard Analitik & Bisnis (Streamlit Cloud): [https://dashboard-chatkasir.streamlit.app]
- Unduh Model AI: [https://drive.google.com/drive/folders/1uCG9n7wMfF7N71P-xY3FFfJOcwUmpWwJ]
- Video Tutorial Penggunaan Aplikasi: [https://drive.google.com/file/d/1A1HUm3aENf0Cw8Z6yqElG5lpqv39tKHR/view]
Proyek ini dibangun menggunakan arsitektur Decoupled Microservices. Jika Anda ingin mempelajari alur kerja spesifik dari masing-masing sub-tim, gunakan tabel panduan berikut untuk menuju ke file dokumentasi teknis yang sesuai:
| Jika Anda ingin mempelajari/mengembangkan... | Maka buka Direktori | Dokumentasi Lengkap |
|---|---|---|
| Tampilan UI, State Management React, Styling Tailwind & DaisyUI | /frontend |
Baca README Frontend |
| API Gateway, Autentikasi Supabase, Endpoint Transaksi, & Logika Bisnis | /backend |
Baca README Backend |
| Pipeline Inferensi Model, Preprocessing Teks Chat, & FastAPI Service | /api-inference |
Baca README AI API |
Eksperimen Arsitektur Jaringan Saraf NER, Kustom Training Loop, & Model .keras |
/ai-model |
Baca README AI Architect |
| Visualisasi Interaktif Plotly, Pertanyaan Bisnis, & Dashboard Monitoring | /dashboard |
Baca README Dashboard |
| Analisis Data Eksploratif (EDA), Data Cleaning, & Generator Data Sintetis | /data |
Baca README Data Science |
- AI Order Extraction: Salin teks chat pembeli, dan model AI (FastAPI) akan otomatis mengekstrak Nama Produk, Kuantitas, dan Harga, lalu menghitung totalnya.
- Smart Fallback & Confidence Score: Sistem mendeteksi otomatis jika AI kurang yakin (Confidence: LOW/MEDIUM) atau jika ada harga yang tidak disebutkan di chat, untuk dikonfirmasi ulang oleh kasir.
- TanyaAI (Asisten Bisnis UMKM): Chatbot terintegrasi berbasis Gemini 3.1 Flash yang dibatasi secara sistematis khusus untuk menjawab seputar strategi bisnis, keuangan, dan UMKM.
- Dashboard Analitik (Data Science): Visualisasi tren penjualan, performa produk, dan segmentasi harga menggunakan Streamlit.
- Decoupled Architecture: Arsitektur dipisah antara Frontend, Main Backend (Node.js), dan AI API (Python) agar keandalan sistem tetap terjaga.
Proyek ini dibangun menggunakan arsitektur microservices dengan pembagian direktori sebagai berikut:
- 📂
frontend/— Antarmuka Web (UI) menggunakan React, Vite, & Tailwind CSS v4. - 📂
backend/— Server REST API menggunakan Node.js & Express. Terhubung dengan Supabase (PostgreSQL) untuk database & autentikasi, serta bertindak sebagai proxy aman untuk Gemini API. - 📂
api-inference/— Server AI menggunakan Python & FastAPI. Bertugas memuat model AI (Keras) dan mengekstrak entitas dari teks. (Didesain untuk di-deploy ke Hugging Face Spaces). - 📂
ai-model/— Ruang kerja Data Scientist. Berisi Jupyter Notebooks untuk proses Training, Evaluation, dan arsitektur model Neural Network. - 📂
dashboard/— Dashboard analitik interaktif menggunakan Streamlit untuk visualisasi dataset dan simulasi model. - 📂
data/& 📂docs/— Berisi pipeline pengolahan data mentah/sintetis dan dokumen referensi seperti API Contract, Skema Database, dan Postman Collection.
- Frontend: React, Vite, Tailwind CSS, Axios, React-Markdown.
- Backend: Node.js, Express, Supabase JS Client, Google Generative AI SDK (Gemini).
- AI & Data Science: Python, TensorFlow/Keras, FastAPI, Streamlit, Pandas, Scikit-Learn.
- Database & Auth: Supabase (PostgreSQL).
- Deployment: Vercel (Frontend & Backend), Hugging Face Spaces (API Inference).
Ikuti instruksi mendalam berikut untuk menjalankan seluruh aplikasi ChatKasir di komputer (lokal) Anda.
Secara default, instalasi lokal ini dikonfigurasi untuk menembak langsung ke Hugging Face Spaces AI API dan Supabase Production milik tim kami. Hal ini bertujuan agar Anda dapat menguji fungsionalitas penuh aplikasi tanpa perlu mengunduh resource Machine Learning yang sangat berat atau melakukan training model ulang di komputer Anda.
Pastikan komputer Anda sudah terpasang perangkat lunak berikut:
-
Node.js (Versi LTS
>= 18.x.x)$\rightarrow$ Unduh di sini -
Git
$\rightarrow$ Unduh di sini - Kode Editor seperti Visual Studio Code
Buka Terminal / Command Prompt Anda, lalu jalankan perintah berikut:
git clone [https://github.com/reihanersaa/ChatKasir.git](https://github.com/reihanersaa/ChatKasir.git)
cd ChatKasir-
Buka terminal baru dan masuk ke folder backend:
cd backend -
Pasang seluruh dependencies Node.js yang dibutuhkan:
npm install
-
Buat file
.envdi dalam root folderbackend/(lihatbackend/.env.example), lalu isi dengan variabel berikut (Hubungi tim pengembang ChatKasir untuk mendapatkan token kredensial asli):PORT=3000 SUPABASE_URL=your_supabase_url SUPABASE_KEY=your_supabase_anon_key AI_API_URL=https://<alamat-cloud-ai>.hf.space AI_API_KEY=your_ai_api_key GEMINI_API_KEY=your_gemini_api_key FRONTEND_URL=http://localhost:5173
-
Jalankan server backend dalam mode pengembangan (development mode):
npm run dev
Jika berhasil, terminal akan memunculkan log dan server berjalan di url: http://localhost:3000
Layanan frontend menyediakan antarmuka web interaktif tempat kasir melakukan aktivitas copy-paste teks pesanan.
- Buka terminal baru lagi (jangan matikan terminal backend), lalu masuk ke folder
frontend:cd frontend - Pasang seluruh library UI yang dibutuhkan:
npm install
- Buat file bernama
.envdi dalam root folderfrontend/(/frontend/.env), lalu konfigurasikan arah API-nya ke server backend lokal yang baru saja Anda jalankan:VITE_API_URL=http://localhost:3000 VITE_SUPABASE_URL=your_supabase_cloud_url VITE_SUPABASE_KEY=your_supabase_anon_public_key - Nyalakan server lokal frontend menggunakan Vite:
npm run dev
- Buka browser Anda dan akses aplikasi di:
http://localhost:5173
Komunikasi data berupa format JSON antara Frontend, Backend, dan API Inference telah distandarisasi secara ketat demi menjaga konsistensi sistem.
- Detail struktur request dan response dapat dibaca di: [
docs/API_CONTRACT.md] - Tim pengembang juga menyediakan Postman Collection siap pakai di dalam folder docs/ untuk mempermudah pengujian endpoint.
Kami menyambut kontribusi dari siapa saja untuk mengembangkan aplikasi ini menjadi lebih baik!
- Lakukan Fork pada repositori ini.
- Buat branch fitur Anda (
git checkout -b feature/FiturKeren). - Lakukan Commit perubahan Anda (
git commit -m 'Menambahkan fitur keren'). - Push ke branch tersebut (
git push origin feature/FiturKeren). - Buat sebuah Pull Request (PR) baru ke branch utama kami.
Proyek ini dibangun secara kolaboratif sebagai bagian dari program Coding Camp 2026 by DBS Foundation & Dicoding Indonesia:
- Alfan Ramadhan - Front End Web Developer (FS-1)
- Muhammad Reihan Ersa Putra - Back End Web Developer (FS-2)
- Muhammad Faradi Eka Damara - Data Engineer / Data Science 1 (DS-1)
- Salman Pandu Pandiya - Data Analyst & Dashboard (DS-2)
- Achmad Rif’an - AI Model Architect (AI-1)
- Denny Yoan Hendrawan - AI API & Inference (AI-2)
