Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
Aceh Tangguh — observatorium kebencanaan Aceh (Next.js + MapLibre + Supabase)
翻訳待ち
Loading the full README.
Read the full README ↗MVP scaffold: mandum rimba-inspired homepage × Tanggapi-inspired map.
Inspired-by only. Does not copy AGPL Mandum source — patterns only, own implementation.
Objek preview publik adalah Vercel (Next.js Node + API routes), bukan GitHub Pages.
Import repo di vercel.com/new — langkah, env, dan URL cron: docs/vercel.md.
Jangan set STATIC_EXPORT / GITHUB_PAGES / NEXT_PUBLIC_BASE_PATH di Vercel.
npm install
npm run dev
Buka http://localhost:3000/id — hard refresh jika UI terlihat usang.
Build Node: npm run build lalu npm run start.
Deploy otomatis GitHub Pages dinonaktifkan. Situs https://piygmalion.github.io/aceh-tangguh/ tidak lagi di-update dari CI dan tidak dipakai sebagai preview.
Pipeline static export (STATIC_EXPORT=1 npm run build → out/) tetap ada di repo untuk nanti, jika Pages dihidupkan lagi.
Project: whojoxrbcdyotrpolgav (https://whojoxrbcdyotrpolgav.supabase.co).
.env.example → .env.local and set:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY (legacy anon JWT for @supabase/supabase-js)
Vercel production already reads these from .env.production (project whojoxrbcdyotrpolgav).bun install
bun run build
supabase/migrations/20260823_init_aceh_tangguh_backend.sql/id/admin): apply supabase/migrations/20260825_admin_auth.sql then create the first super_admin manually — see docs/admin-setup.md. Laporan writes (not the admin UI) need SUPABASE_SERVICE_ROLE_KEY on the Node server (Vercel env, never NEXT_PUBLIC_* and never GitHub Pages).area_feature_meta):
bun run seed:area-meta
villageDistribution is not included there. Geometry is rebuilt from Geoportal Aceh Peta_Administrasi_Desa + data-bencana-aceh profil_desa (npm run build:village-geoportal). Seed area_feature_meta only for the intersection of GeoJSON 10-digit properties.kode_desa_kelurahan ∩ coded profil_desa rows (join on that kode, never feature.id). Do not run --apply against production until the coordinator reviews:
npm run seed:village-area-meta -- --dry-run
npm run seed:village-area-meta -- --apply
Refresh profil_desa counts from the coordinator Google Sheet (join on 10-digit kode_desa_kelurahan only; dry-run default; never insert or fill the 4 null-kode rows). Do not run --apply against production until the coordinator reviews — Backend only:
npm run update:profil-sheet
npm run update:profil-sheet -- --apply
Geometry stays in public/fixtures + public/tiles (PMTiles). Domain JSON (kejadian, markers, publikasi, IRBI analysis) is read from Supabase first; loaders fall back to fixtures if env is missing, a query fails, or the table is empty. Anggaran and PRRPKA fixtures live in data/staff/ and are served only to a staff session (GET /api/anggaran, /api/prrpka/summary, /api/r3p/summary return 401 without one). There is no public homepage PRRPKA section.
This is the beginning of the README. Read the rest at the original. Read the full README ↗