Backend service untuk aplikasi SayurSegar — platform e-commerce sayur dan buah segar langsung dari petani.
Dibangun dengan Express.js + TypeScript, menggunakan Prisma ORM untuk manajemen database.
- Runtime: Node.js
- Framework: Express.js
- Language: TypeScript
- ORM: Prisma
- Database: Supabase (PostgreSQL)
- Templating: EJS (untuk view sederhana, misalnya email)
be-sayur-segar/
│
├── .idea/ # Konfigurasi IDE (optional)
├── prisma/ # Skema database & migrasi Prisma
├── src/ # Kode sumber utama backend
│ ├── controllers/ # Controller untuk handle request
│ ├── middlewares/ # Middleware (auth, error handling, dsb.)
│ ├── routes/ # Routing API
│ ├── schema/ # Validasi request (Zod/Joi)
│ ├── types/ # TypeScript types/interfaces
│ ├── utils/ # Utility/helper functions
│ └── index.ts # Entry point Express app
│
├── .env.example # Contoh environment variables
├── .gitignore # Ignore file/folder dari Git
├── package.json # Dependensi & script npm
├── package-lock.json # Versi eksak dependensi
└── vercel.json # Konfigurasi deployment Vercel
git clone https://github.com/fahrurrzl/be-sayur-segar.git
cd be-sayur-segarnpm installBuat file .env berdasarkan .env.example
cp .env.example .envIsi variabel sesuai dengan konfigurasi Supabase kamu:
DATABASE_URL="postgresql://username:password@db.supabase.co:5432/postgres"
DIRECT_URL="postgresql://username:password@db.supabase.co:5432/postgres"📌 DATABASE_URL dan DIRECT_URL* bisa didapatkan dari Supabase Dashboard → Project → Settings → Database.
Generate Prisma Client
npx prisma generateJalankan migrasi database ke Supabase
npx prisma migrate devnpm run devServer akan berjalan di: http://localhost:5000 (atau port yang ditentukan di .env)