This is a Next.js project bootstrapped with create-next-app.
Pastikan perangkat telah terinstal:
- Node.js (versi 18 atau lebih baru)
- npm
- Git
- Akun Supabase
git clone <repository-url>
cd savebitesJalankan perintah berikut untuk menginstal seluruh dependency yang diperlukan:
npm installInstall package tambahan yang digunakan dalam proyek:
npm install @supabase/supabase-jsnpm install leaflet react-leafletnpm install --save-dev @types/leafletJika ingin menggunakan Supabase CLI:
npm install -g supabase- Buka dashboard Supabase.
- Login atau buat akun baru.
- Klik New Project.
- Berikan nama project:
SaveBites
- Tentukan password database sesuai kebutuhan.
- Tunggu hingga proses provisioning selesai.
Pada dashboard Supabase:
- Klik tombol Connect pada bagian atas halaman project.
- Cari bagian API Configuration.
- Salin nilai berikut:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=...Buat file .env.local pada root project:
NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=YOUR_SUPABASE_PUBLISHABLE_KEY- Buka menu SQL Editor pada dashboard Supabase.
- Buka file:
supabase-db-setup.sql
- Salin seluruh isi file tersebut.
- Tempel pada SQL Editor.
- Jalankan query untuk membuat seluruh tabel dan struktur database yang dibutuhkan.
Pada dashboard Supabase:
- Buka menu:
Authentication → Users
- Klik Add User.
- Pilih Create New User.
- Buat akun untuk Seller dan Buyer.
Contoh:
Email : warungbusri@savebites.com
Password : warungbusri123
Email : buyersetia@savebites.com
Password : buyersetia123
- Klik Create User.
Setelah user berhasil dibuat:
- Klik salah satu user pada halaman Authentication.
- Salin nilai User UID yang terdapat pada halaman Overview.
Contoh:
e7c9c8f2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Buka file:
supabase-db-insert.sql
Pada bagian:
insert into public.profiles (...)ganti setiap:
gen_random_uuid()dengan User UID yang sesuai dengan akun yang telah dibuat sebelumnya.
Contoh:
warungbusri@savebites.com
gunakan UID milik akun Seller tersebut.
buyersetia@savebites.com
gunakan UID milik akun Buyer tersebut.
Setelah seluruh UID sesuai:
- Salin isi file
supabase-db-insert.sql. - Tempel ke SQL Editor.
- Jalankan query untuk mengisi data awal (seed data).
Jalankan development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devAplikasi dapat diakses melalui:
http://localhost:3000
Email : warungbusri@savebites.com
Password : warungbusri123
Email : buyersetia@savebites.com
Password : buyersetia123
- Next.js
- React
- TypeScript
- Tailwind CSS
- Supabase
- Leaflet
- React Leaflet
- Pastikan file
.env.localtidak diunggah ke repository publik. - Seluruh perubahan database sebaiknya disimpan dalam file SQL migration untuk memudahkan sinkronisasi antar anggota tim.
- Jika menggunakan Supabase CLI, pastikan Docker Desktop telah terinstal dan berjalan.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
Demo accounts (also shown as a hint on the login screen):
Role Email Password Pembeli (buyer) buyer@savebites.com buyer123 Penjual (seller) seller@savebites.com seller123
photos: Minuman: 'https://images.unsplash.com/photo-1544145945-f90425340c7e?auto=format&fit=crop&w=800&q=80', Snack: 'https://images.unsplash.com/photo-1599490659213-e2b9527bd087?auto=format&fit=crop&w=800&q=80',
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.