Kenapa Atlas?
Atlas bukanlah kit UI atau halaman arahan: ini adalah direktori kerja dan pasar pemesanan. Setiap layar di bawah ini didukung oleh skema PostgreSQL nyata (48 tabel Drizzle), tindakan server, otentikasi berbasis peran, dan data awal yang kaya, sehingga Anda dapat meluncurkan panduan kota, pasar sewa, direktori restoran, platform acara, atau direktori niche dalam hitungan hari, bukan bulan.
Ini mencakup seluruh siklus: seorang pengunjung mencari di peta, memilih tempat, memesan dan membayar, pemilik mengonfirmasi dari dasbor mereka, admin direktori menyimpan komisi, dan platform menjalankan banyak direktori sebagai SaaS. Tanpa WordPress, tanpa plugin, tanpa kunci pembangun halaman.
- Aplikasi Next.js 16 + React 19 mandiri, 100% TypeScript, semua UI dan kode dalam bahasa Inggris
- SaaS multi-penyewa: subdomain atau domain kustom per direktori, rencana, percobaan, dan penagihan
- Empat mode pemesanan: menginap malam, reservasi satu hari, slot per jam, dan tiket acara dengan check-in QR
- Stripe Checkout + pembayaran Stripe Connect, uang tunai saat kedatangan, kupon, biaya opsional, deposit, pengembalian dana, dan buku besar komisi
- Pencarian dengan peta terkluster, filter, pencarian yang disimpan, membandingkan dan "cari saat saya menggerakkan peta"
- Pembangun halaman 32-blok, branding, navigasi, teks, dan pengalihan fitur — semua dari admin
- Studio desain per listing sehingga setiap pemilik dapat menata halaman publik mereka sendiri
- Ulasan dengan foto dan balasan, bookmark, klaim, laporan, prospek, pesan, dan notifikasi
- Template email yang dapat diedit, blog, buletin, dan formulir kontak
- 12 template niche (panduan kota, sewa, restoran, acara, layanan, kesehatan…) dapat diubah kapan saja
- Mode terang dan gelap, sepenuhnya responsif, komponen yang dapat diakses, metadata SEO, dan OpenGraph
- Data demo yang realistis: 24 listing, pemesanan, pesanan, ulasan, dan percakapan
01. Lihat cara kerjanya: seorang pengunjung memesan dalam hitungan detik
Widget pemesanan beradaptasi dengan jenis listing. Menginap menunjukkan kalender rentang tanggal dengan harga malam, biaya pembersihan, dan pajak kota. Restoran dan layanan menunjukkan satu hari dengan slot waktu yang dihitung dari jam buka, panjang slot, dan pemesanan yang ada. Acara menjual tiket dengan penghitung kapasitas yang tidak pernah bisa terjual lebih. Tamu dapat checkout tanpa akun ketika Anda mengizinkannya, menerapkan kupon, dan membayar dengan kartu atau uang tunai saat kedatangan.


02. Halaman utama yang menjual direktori Anda
Halaman utama dibangun dari blok: hero dengan pencarian, kategori, listing unggulan, cara kerjanya, statistik, wilayah, acara mendatang, ulasan, dan ajakan bertindak. Susun ulang, sembunyikan, atau ubah gaya setiap blok dari pembangun halaman; setiap judul dan label dapat diedit.


03. Pencarian peta dengan filter
Kata kunci, lokasi, jenis listing, kategori, tanggal, tamu, harga, buka-sekarang, pemesanan instan, dan filter terverifikasi. Hasil disinkronkan dengan peta Leaflet terkluster (ubin OpenStreetMap secara default, penyedia ubin apa pun melalui variabel lingkungan). Pengunjung dapat menyimpan pencarian dan mendapatkan notifikasi, atau membandingkan listing berdampingan.

04. Halaman listing yang dibanggakan pemilik
Galeri, lencana terverifikasi, penilaian, rentang harga, status buka-sekarang, fasilitas, bidang kustom, menu atau layanan dengan harga, video, peta lokasi, jam buka, FAQ, kartu host, ulasan, dan sidebar pemesanan yang persisten. Pemilik dapat menyusun ulang bagian, menambahkan blok kustom, dan mengubah tata letak dari studio desain mereka sendiri.

05. Dasbor pemilik: kokpit bisnis yang nyata
Ikhtisar dengan grafik pendapatan dan pemesanan mendatang, manajer listing, pemesanan dengan menyetujui / menolak / membatalkan / check-in, kalender ketersediaan dengan impor dan ekspor iCal, pesan, prospek, ulasan, statistik, kupon, promosi (unggulan / disponsori), anggota tim, dompet dengan onboarding Stripe Connect dan paket.



06. Admin direktori: sesuaikan semuanya, tanpa kode
Branding (logo, warna, font, radius), penampilan (gaya header, bar pengumuman, footer), navigasi mega-menu, 127 string teks yang dapat diedit, pengalihan fitur, template email, jenis listing dengan bidang kustom dan taksonomi, paket, iklan, kupon, moderasi, klaim, laporan, pengguna, analitik, dan alat. Beralih antara 12 template niche kapan saja.




07. Jalankan sebagai SaaS
Domain utama adalah platform Anda: situs pemasaran, harga, pendaftaran, dan proses onboarding 4 langkah yang menyediakan direktori baru di subdomainnya sendiri dalam hitungan detik. Rencana dengan batas (daftar, pengguna, fitur), percobaan, Penagihan Stripe, dan super-admin platform untuk mengelola situs, pengguna, dan rencana. Atau atur TENANCY_MODE=single untuk menjalankan satu direktori di satu domain.


08. Mobile, mode gelap, dan aksesibilitas
Setiap halaman berfungsi pada lebar ponsel tanpa gulir horizontal, mode gelap mengikuti sistem atau saklar, komponen berasal dari sistem desain asli (merek indigo, netral hangat, Plus Jakarta Sans) dengan navigasi keyboard dan status fokus.

Rincian fitur berdasarkan peran
Pengunjung / tamu: pencarian dengan peta dan filter · pencarian yang disimpan · perbandingan · bookmark · memesan menginap, slot, atau tiket · checkout tamu · kupon · ulasan dengan foto · pesan dengan tuan rumah · perjalanan, tiket dengan QR dan dompet
Pemilik: daftar dengan galeri, bidang kustom, menu, FAQ, jam dan video · alur kerja pemesanan · kalender ketersediaan + iCal · prospek dan pesan · statistik · kupon dan promosi · anggota tim · studio desain · dompet Stripe Connect · paket
Admin direktori: branding, penampilan, navigasi, teks, fitur · pembangun halaman (32 blok) · pengalih template · jenis daftar, bidang, taksonomi · moderasi, klaim, laporan, ulasan · pemesanan, pesanan, pembayaran · paket, kupon, iklan · template email · analitik · perpustakaan media · domain
Admin platform: situs, pengguna, rencana, penangguhan, penagihan
Teknologi yang digunakan
- Next.js 16 (App Router, tindakan server, routing penyewa berbasis proxy)
- React 19, TypeScript, Tailwind CSS v4
- PostgreSQL 16 + Drizzle ORM (48 tabel, migrasi termasuk)
- Better Auth (email + kata sandi, sesi, reset kata sandi)
- Stripe (Checkout, Billing, Connect) dengan mode uji yang berfungsi tanpa kunci
- Validasi Zod 4, peta Leaflet + supercluster, Recharts
- nodemailer (transportasi konsol dalam pengembangan), node-ical / ical-generator, kode QR
- Vitest (55 tes), ESLint, GitHub Actions CI, Docker + docker-compose, output mandiri, endpoint kesehatan
Apa yang Anda dapatkan
- Kode sumber lengkap dari platform, direktori, dasbor pemilik, dan admin
- 12 template niche dengan skrip benih dan konten demo
- Migrasi database, pekerjaan cron, dan antarmuka pengemudi penyimpanan (lokal / kompatibel S3)
- Panduan arsitektur, README dengan penyebaran, pengaturan Stripe dan SMTP, panduan privasi dan data, pemberitahuan pihak ketiga, catatan perubahan
Instal dalam 4 langkah
pnpm install- Salin
.env.example ke .env dan atur DATABASE_URL, ROOT_DOMAIN, dan BETTER_AUTH_SECRET pnpm db:migrate && pnpm seedpnpm dev dan buka platform di domain utama Anda dan demo di demo.<root domain>
Persyaratan
- Node.js 20 atau lebih baru dan pnpm
- PostgreSQL 16 (Docker compose termasuk)
Akun demo (setelah penyemaian)
Penyemaian membuat akun demo untuk evaluasi lokal: admin@atlas.test (admin platform + direktori), sofia@nooks.test (pemilik) dan emma@nooks.test (tamu). Tidak ada kata sandi bawaan: atur DEMO_PASSWORD di .env, atau biarkan penyemaian menghasilkan yang acak dan menyimpannya ke .seed-credentials.txt. Penyemaian menolak untuk dijalankan di produksi tanpa DEMO_PASSWORD yang eksplisit.
Baik untuk diketahui
- Pembangunan ruang bersih: kode asli dan sistem desain asli, tanpa kode tema GPL atau aset berlisensi
- Stripe bersifat opsional; tanpa kunci, checkout berjalan dalam mode uji yang dapat Anda demo segera
- Semua string publik dapat diedit dari admin, sehingga Anda dapat menerjemahkan antarmuka depan ke dalam bahasa apa pun
- Pengaturan keamanan default: masuk dengan batasan laju dan reset kata sandi, header keamanan, pemeriksaan konfigurasi startup, tidak ada analitik atau skrip pihak ketiga yang dimuat secara default