Aplikasi ini terdiri dari backend Express + Node.js, frontend React + Vite, dan aplikasi mobile Flutter untuk mengelola menu, stok, transaksi, serta laporan penjualan warteg digital.
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
wdms-app/
├── README.md
├── wdms_db.sql
├── wdms-backend/
│ ├── .env
│ ├── db.js
│ ├── index.js
│ ├── package.json
│ ├── package-lock.json
│ ├── docs/
│ │ └── implementation_plan.md
│ └── routes/
│ ├── auth.js
│ ├── menu.js
│ ├── stok.js
│ └── transaksi.js
├── wdms-frontend/
│ ├── .env
│ ├── index.html
│ ├── package.json
│ ├── package-lock.json
│ ├── vite.config.js
│ ├── README.md
│ ├── public/
│ └── src/
│ ├── App.css
│ ├── App.jsx
│ ├── index.css
│ ├── main.jsx
│ ├── assets/
│ ├── components/
│ ├── context/
│ ├── data/
│ ├── pages/
│ └── services/
└── wdms-mobile/
├── analysis_options.yaml
├── pubspec.yaml
├── README.md
├── android/
├── ios/
├── lib/
├── linux/
├── macos/
├── web/
└── windows/
- Node.js 18+
- npm
- MariaDB / MySQL (misalnya lewat XAMPP)
- Jalankan XAMPP atau layanan MariaDB/MySQL.
- Buka phpMyAdmin atau terminal MySQL.
- Import file wdms_db.sql.
- Pastikan database
wdms_dbberhasil dibuat beserta tabel dan data awal.
Edit file wdms-backend/.env jika diperlukan:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=wdms_db
PORT=5000Edit file wdms-frontend/.env jika backend Anda berjalan di port lain:
VITE_API_URL=/apiBuka terminal dan jalankan:
cd wdms-backend
npm install
cd ../wdms-frontend
npm installcd wdms-backend
npm run devBackend akan berjalan di:
http://localhost:5000
Buka terminal baru, lalu jalankan:
cd wdms-frontend
npm run devFrontend akan berjalan di:
http://localhost:5173
| Peran | Username | Password |
|---|---|---|
| Pemilik | pemilik | password123 |
| Kasir | kasir | password123 |
- Login berbasis role: Pemilik dan Kasir
- Manajemen menu
- Manajemen stok
- Proses transaksi dan pembayaran
- Riwayat transaksi
- Laporan penjualan
| Method | Endpoint | Keterangan |
|---|---|---|
| POST | /api/auth/login |
Login pengguna |
| GET | /api/menu |
Ambil data menu beserta stok |
| POST | /api/menu |
Tambah menu baru |
| PUT | /api/menu/:id |
Update menu |
| DELETE | /api/menu/:id |
Hapus menu |
| GET | /api/stok |
Ambil semua data stok |
| PUT | /api/stok/:id_menu |
Update stok berdasarkan id menu |
| POST | /api/transaksi |
Simpan transaksi baru |
| GET | /api/transaksi |
Ambil riwayat transaksi |
| GET | /api/transaksi/laporan?periode=hari|minggu|bulan |
Ambil data laporan penjualan |
| GET | /api/ping |
Health check backend |

