SumselMap adalah platform direktori berbasis peta interaktif yang memudahkan masyarakat menemukan tempat wisata, kuliner, penginapan, dan berbagai bisnis di seluruh wilayah Sumatera Selatan.
Proyek ini dibangun untuk mendukung pertumbuhan UMKM lokal dan promosi pariwisata daerah dengan teknologi modern yang mudah diakses.
- Peta Interaktif - Visualisasi semua tempat di atas peta menggunakan Leaflet.js
- Pencarian & Filter - Cari berdasarkan nama, kategori, kota, dan harga
- Kategori Lengkap - Wisata, Kuliner, Penginapan, Belanja, Budaya
- Ulasan & Rating - Komunitas bisa memberikan ulasan dan rating
- Verifikasi Bisnis - Sistem verifikasi untuk memastikan data akurat
- Responsive - Optimal di semua perangkat (mobile, tablet, desktop)
- Performa Tinggi - Dibangun di atas Next.js 14 App Router
| Layer | Teknologi |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Database | PostgreSQL + Prisma ORM |
| Maps | Leaflet.js + React-Leaflet |
| Icons | Lucide React |
| Deployment | Vercel + Neon (DB) |
- Node.js >= 18.x
- PostgreSQL (lokal atau gunakan Neon)
- npm / yarn / pnpm
# 1. Clone repository
git clone https://github.com/Alice699/sumselmap.git
cd sumselmap
# 2. Install dependencies
npm install
# 3. Setup environment variables
cp .env.example .env.local
# Edit .env.local dengan konfigurasi database kamu
# 4. Push schema ke database
npm run db:push
# 5. Isi data awal (seed)
npm run db:seed
# 6. Jalankan development server
npm run devBuka http://localhost:3000 di browser kamu.
sumselmap/
├── prisma/
│ ├── schema.prisma # Database schema
│ └── seed.ts # Data seed
├── src/
│ ├── app/
│ │ ├── api/ # API Routes
│ │ │ ├── places/
│ │ │ └── categories/
│ │ ├── explore/ # Halaman eksplorasi + peta
│ │ ├── place/ # Detail tempat
│ │ └── page.tsx # Homepage
│ ├── components/
│ │ ├── cards/ # PlaceCard, dll
│ │ ├── map/ # Komponen peta
│ │ ├── layout/ # Navbar, Footer
│ │ └── ui/ # Komponen UI umum
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Prisma client, utils
│ └── types/ # TypeScript types
└── public/ # Aset statis
Kontribusi sangat terbuka! Ini cara untuk berkontribusi:
- Fork repository ini
- Buat branch baru:
git checkout -b feat/nama-fitur - Commit perubahan:
git commit -m 'feat: tambah fitur X' - Push ke branch:
git push origin feat/nama-fitur - Buat Pull Request
Pastikan mengikuti conventional commits untuk pesan commit.
Didistribusikan di bawah lisensi MIT. Lihat LICENSE untuk detail lebih lanjut.