factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Platform digital untuk warga Desa Jatikulur (Kecamatan Gunung Putri, Kabupaten Bogor) memantau konsumsi listrik rumah tangga dan melaporkan masalah infrastruktur kota, dengan dashboard transparansi untuk pemerintah desa. Dikembangkan untuk ITechno Cup 2026 - Web Development Student Competition Sub-tema: Smart Sustainable Digital Solution for Inclusive Society SDG yang diterapkan: SDG 7, SDG 9, SDG 11README 전문 보기 ↗
Platform digital untuk warga Desa Jatikulur (Kecamatan Gunung Putri, Kabupaten Bogor) memantau konsumsi listrik rumah tangga dan melaporkan masalah infrastruktur kota, dengan dashboard transparansi untuk pemerintah desa.
Dikembangkan untuk ITechno Cup 2026 - Web Development Student Competition Sub-tema: Smart Sustainable Digital Solution for Inclusive Society SDG yang diterapkan: SDG 7, SDG 9, SDG 11
Banyak kelurahan dan desa di Indonesia menghadapi dua masalah yang jarang ditangani bersamaan:
EcoLur menggabungkan keduanya dalam satu platform: warga bisa memantau jejak energi mereka sekaligus melaporkan dan melacak masalah infrastruktur kota, sementara pemerintah desa mendapatkan dashboard transparansi berbasis data untuk pengambilan keputusan.
Nama EcoLur berasal dari "Eco" (keberlanjutan) dan "Lur" - diambil dari Jatikulur, wilayah percontohan proyek ini di Gunung Putri, Kabupaten Bogor, sekaligus sapaan akrab dalam bahasa gaul lokal. Platform ini dirancang untuk dimulai di satu desa, tapi bisa diperluas ke kota atau kabupaten lain yang menghadapi tantangan energi dan layanan publik yang sama.
Tujuan aplikasi:
| SDG | Penerapan di EcoLur |
|---|---|
| SDG 7 - Energi Bersih dan Terjangkau | Pemantauan konsumsi listrik rumah tangga, estimasi biaya dan emisi karbon, rekomendasi hemat energi berbasis AI. |
| SDG 9 - Industri, Inovasi, dan Infrastruktur | Sistem digital untuk data kota, log status laporan yang bersifat append-only untuk jejak audit, AI dan struktur data khusus (spatial indexing, retrieval) sebagai inovasi layanan. |
| SDG 11 - Kota dan Komunitas Berkelanjutan | Modul pelaporan masalah publik dengan pelacakan status, dashboard transparansi untuk pemerintah desa, peta sebaran laporan dan heatmap area bermasalah. |
| Kategori | Teknologi | Fungsi |
|---|---|---|
| Framework inti | Next.js (App Router) + TypeScript | Fullstack - frontend dan API routes dalam satu aplikasi, memudahkan deployment ke Vercel |
| Styling | Tailwind CSS | Styling responsif dan konsisten di semua ukuran layar |
| Database | PostgreSQL (via Supabase) | Penyimpanan data utama (pengguna, laporan, log energi, gamifikasi) |
| ORM | Prisma | Query dan migrasi database dengan tipe yang aman |
| Autentikasi | OTP berbasis nomor HP | Login tanpa kata sandi |
| Peta | Leaflet.js + OpenStreetMap | Visualisasi lokasi laporan tanpa API key berbayar |
| Grafik | Recharts | Visualisasi tren konsumsi energi |
| AI | Google Gemini API | Rekomendasi hemat energi, ringkasan laporan, dan asisten chat EcoBot |
| Penyimpanan file | Supabase Storage | Foto laporan warga |
| Hosting | Vercel | Hosting gratis untuk frontend dan API routes |
Selain itu, proyek ini punya beberapa struktur data kustom di lib/dsa/ (priority queue, quadtree, trie, inverted index) yang dipakai untuk triase spasial petugas (lib/spatial/) dan mesin pencarian basis pengetahuan EcoBot (lib/rag/).
Arsitektur sistem lengkap, use case per aktor, ERD, dan alur status laporan ada di ARCHITECTURE.md.
# 1. Clone repository
git clone https://github.com/<username>/ecolur.git
cd ecolur
# 2. Install dependencies
npm install
# 3. Salin template environment variable
cp .env.example .env
# 4. Isi .env dengan kredensial Anda sendiri
# DATABASE_URL, DIRECT_URL, GEMINI_API_KEY, SESSION_SECRET, dll. (lihat .env.example)
# 5. Jalankan migrasi database
npx prisma migrate dev
# 6. Isi data demo
npx prisma db seed
# 7. Jalankan server pengembangan
npm run dev
Aplikasi berjalan di http://localhost:3000
Setelah login (lihat Akun Demo di bawah), aplikasi menampilkan tampilan berbeda sesuai peran:
# Build untuk produksi
npm run build
npm run start
# Buka Prisma Studio untuk memeriksa database
npx prisma studio
Setelah menjalankan npx prisma db seed, tiga akun demo tersedia (kode OTP selalu 000000 selama OTP_PROVIDER_API_KEY belum diisi):
| Peran | Nomor HP |
|---|---|
| Warga | 081234567890 |
| Petugas | 081234567891 |
| Admin | 081234567892 |
Karena data yang dipakai untuk demo ini sama dengan data yang tersimpan di database sungguhan, setiap input yang dilakukan lewat akun demo (catatan energi baru, laporan baru, klaim hadiah, dan sebagainya) benar-benar tersimpan — baik oleh akun Warga Demo maupun warga lain yang sudah diseed, dan aksi Petugas/Admin (verifikasi laporan, tandai hadiah terkirim) juga ikut mengubah data yang sama. Kalau data demo sudah terlalu jauh berubah dari kondisi awal, gunakan tombol Reset Demo di menu navigasi untuk mengembalikannya ke data awal tanpa perlu menjalankan ulang seed dari terminal — ini juga otomatis memulai ulang tutorial dari langkah pertama.
ecolur/
├── app/ # Next.js App Router
│ ├── (auth)/ # Login dan OTP
│ ├── (citizen)/ # Warga: energi, lapor, hadiah & lencana, tanya AI
│ ├── (officer)/ # Petugas: laporan masuk
│ ├── (admin)/ # Admin: dashboard transparansi
│ ├── privacy/, terms/ # Kebijakan privasi dan syarat & ketentuan
│ └── api/ # Route handlers
├── components/
│ ├── ui/ # Komponen dasar (Button, Card, Input, dll.)
│ ├── layout/ # Navbar, badge pemerintah
│ ├── auth/, energy/, reports/ # Komponen per modul
│ ├── gamification/ # Level, lencana, misi, papan peringkat, klaim hadiah
│ ├── ai/ # Chat EcoBot
│ ├── officer/, admin/ # Komponen petugas dan admin
│ └── landing/ # Komponen landing page
├── lib/
│ ├── db.ts, session.ts, auth.ts, ai.ts, supabase.ts
│ ├── gamification.ts, gamification-data.ts, gamification-client.ts
│ ├── dsa/ # Priority queue, quadtree, trie, inverted index
│ ├── rag/ # Basis pengetahuan dan mesin retrieval EcoBot
│ └── spatial/ # Triase dan penugasan spasial petugas
├── prisma/
│ ├── schema.prisma
│ └── seed.ts
├── public/ # Aset statis (logo, ikon lencana, foto)
├── ARCHITECTURE.md
├── CLAUDE.md # Konteks proyek untuk asisten AI pengembangan
├── .env.example
└── package.json
Sesuai aturan kompetisi soal transparansi penggunaan AI:
| Nama | NIM | Universitas | Peran |
|---|---|---|---|
| [Nama Anggota 1] | [NIM] | [Universitas] | [Fullstack Developer] |
| [Nama Anggota 2] | [NIM] | [Universitas] | [UI/UX Designer] |
| [Nama Anggota 3] | [NIM] | [Universitas] | [Backend Developer] |
[isi tautan repo][isi tautan Vercel]/privacy/terms[isi setelah lolos ke babak final]Proyek ini dibuat untuk kompetisi ITechno Cup 2026 dan merupakan karya asli - belum pernah dipublikasikan untuk tujuan komersial maupun menjadi pemenang kompetisi serupa sebelumnya.