Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KF13 Community Platform

Wadah eksploratif yang memfasilitasi kolaborasi ilmiah dari tingkat SMP hingga pascasarjana β€” demi masyarakat yang terbuka akan sains, informasi, dan penelitian yang dapat saling diverifikasi.

Monorepo untuk dua produk terintegrasi: platform sosial media dan arsip riset terpadu β€” diinisiasi oleh Klub Fisika Indonesia, sebuah yayasan non-profit independen, dan dirancang untuk dimiliki bersama oleh komunitas.


Navigasi Cepat

Dokumen Deskripsi
πŸ—οΈ ARCHITECTURE.md Arsitektur teknis β€” database, auth, submodule
πŸ” AUTH.md Shared auth: Community sebagai auth provider, Index via API
πŸ’» DEVELOPMENT.md Setup, env, workflow development, deployment
πŸ“‹ DECISIONS.md Log keputusan teknis & rationale
πŸ“– VISION.md Visi lengkap, mengapa platform ini dibangun, roadmap
πŸ›οΈ GOVERNANCE.md Tata kelola, peran, proses pengambilan keputusan
πŸ’° FUNDING.md Strategi pendanaan, grant, cara berkontribusi finansial
πŸ“£ OUTREACH.md Strategi promosi ke pemerintah, institusi, komunitas global
🀝 CONTRIBUTING.md Cara berkontribusi β€” kode, dokumentasi, desain, ide
πŸ’¬ Discussions Forum diskusi terbuka untuk komunitas
πŸ› Issues Bug report, feature request, RFC

Visi

Dimensi Produk Analogi
Siapa kamu β€” jejaring, diskusi, reputasi apps/platform LinkedIn Γ— Kaskus untuk ilmuwan Indonesia
Apa karyamu β€” publikasi, verifikasi, sitasi apps/index SINTA untuk jenjang SD–SMA/SMK

Keduanya berbagi satu identitas pengguna. Seorang peneliti muda yang aktif berdiskusi di platform akan otomatis terhubung dengan karya ilmiahnya di index β€” dan sebaliknya, karya yang terverifikasi akan memperkuat kredibilitas profilnya.

Baca VISION.md untuk penjelasan mendalam tentang mengapa platform ini dibangun.


Arsitektur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚        github.com/openriset/community (monorepo root)         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  apps/platform                     apps/index                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  Qwik City       β”‚             β”‚  SvelteKit 2     β”‚       β”‚
β”‚  β”‚  Better Auth     │◄─── API ────│  Drizzle ORM     β”‚       β”‚
β”‚  β”‚  Tailwind CSS 4  β”‚ auth        β”‚  Paraglide i18n  β”‚       β”‚
β”‚  β”‚  KaTeX Β· Mermaid β”‚ validation  β”‚  Tailwind CSS 4  β”‚       β”‚
β”‚  β”‚                  β”‚             β”‚  mdsvex          β”‚       β”‚
β”‚  β”‚  PLATFORM SOSIAL β”‚             β”‚  ARSIP RISET     β”‚       β”‚
β”‚  β”‚  β€’ feed & diskusiβ”‚             β”‚  β€’ indeks karya  β”‚       β”‚
β”‚  β”‚  β€’ proyek        β”‚             β”‚  β€’ verifikasi    β”‚       β”‚
β”‚  β”‚  β€’ gamifikasi    β”‚             β”‚  β€’ sitasi        β”‚       β”‚
β”‚  β”‚  β€’ onboarding    β”‚             β”‚  β€’ portofolio    β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚           β”‚                                β”‚                 β”‚
β”‚           β–Ό                                β–Ό                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  Community DB    β”‚             β”‚  Index DB        β”‚       β”‚
β”‚  β”‚  user, session   β”‚             β”‚  research_works  β”‚       β”‚
β”‚  β”‚  profiles, posts β”‚             β”‚  authors, tags   β”‚       β”‚
β”‚  β”‚  projects, ...   β”‚             β”‚  citations, ...  β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                                                              β”‚
β”‚  packages/                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  @kf13/auth Β· @kf13/db                               β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Struktur Repository

community/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ platform/          β†’ github.com/klubfisika/platform (Qwik City)
β”‚   └── index/             β†’ github.com/klubfisika/index (SvelteKit)
β”œβ”€β”€ packages/              β†’ @kf13/auth, @kf13/db
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ ARCHITECTURE.md    β†’ arsitektur teknis
β”‚   β”œβ”€β”€ AUTH.md            β†’ detail shared auth
β”‚   β”œβ”€β”€ DEVELOPMENT.md     β†’ workflow development
β”‚   β”œβ”€β”€ DECISIONS.md       β†’ log keputusan teknis
β”‚   β”œβ”€β”€ VISION.md          β†’ visi lengkap & roadmap
β”‚   β”œβ”€β”€ GOVERNANCE.md      β†’ tata kelola komunitas
β”‚   β”œβ”€β”€ FUNDING.md         β†’ strategi pendanaan
β”‚   └── OUTREACH.md        β†’ strategi promosi & advokasi
β”œβ”€β”€ .github/
β”‚   └── ISSUE_TEMPLATE/
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ .gitmodules
└── README.md
Path Repository Stack
apps/platform klubfisika/platform Qwik City Β· Neon Β· Tailwind 4
apps/index klubfisika/index SvelteKit Β· Drizzle Β· Paraglide

Memulai

Prasyarat

  • bun β‰₯ 1.x
  • Node.js β‰₯ 18 (untuk Qwik)
  • Akun Neon untuk PostgreSQL (free tier cukup)

Clone

git clone --recurse-submodules git@github.com:openriset/community.git
cd community

Development

# Dari root monorepo:
bun run dev:platform   # Platform (Community) β†’ http://localhost:5173
bun run dev:index      # Index (Arsip Riset) β†’ http://localhost:5173

# Setup masing-masing:
# Index
cd apps/index
bun install
cp .env.example .env
# isi: DATABASE_URL (Index DB), AUTH_ORIGIN (Community origin), ORIGIN
bun run dev

# Platform
cd apps/platform
bun install
cp .env.example .env.local
# isi: DATABASE_URL (Community DB), BETTER_AUTH_SECRET, ORIGIN
bun run dev

Catatan: Index dan Platform menggunakan database Neon PostgreSQL yang berbeda. Auth dikelola oleh Community (Platform). Index memvalidasi session via API call ke Community β€” tidak ada koneksi DB langsung. Lihat AUTH.md untuk detail.

Lihat CONTRIBUTING.md untuk panduan setup lengkap.


DNA Produk

πŸ₯’ Gamifikasi Kaskus

Platform menggunakan sistem reputasi terinspirasi Kaskus:

  • Cendol (πŸ₯’) β€” apresiasi positif, endorsement berbobot berbasis kontribusi
  • Bata (🧱) β€” feedback negatif untuk konten tidak berkualitas
  • Rank progression: Newbie β†’ Kaskuser β†’ Aktivis β†’ Kaskus Holic β†’ Kaskus Addict β†’ Kaskus Maniac β†’ Kaskus Geek
  • Emoticon parser: 18 emote Kaskus-style (:cendol:, :ngakak:, :pertamax:, dll)

πŸ”¬ Kredibilitas Terverifikasi

Tidak seperti platform sosial pada umumnya, kredibilitas di KF13 ditentukan oleh karya nyata:

  • Diskusi dan kontribusi di platform β†’ reputasi sosial
  • Karya ilmiah terindeks di index β†’ kredibilitas akademik
  • Keduanya terintegrasi dalam satu profil

Prinsip

  • Terbuka & non-profit β€” tidak terafiliasi, tidak didanai pihak manapun
  • Milik komunitas β€” diinisiasi Klub Fisika, dirancang untuk dimiliki dan dikelola bersama
  • Verifikasi ketat dengan audit terbuka β€” keamanan, transparansi, dan kenyamanan bersama
  • Kids-friendly β€” pengawasan wali/mentor/orangtua untuk pengguna di bawah umur
  • Terinspirasi oleh: Ki Hajar Dewantara, HOS Cokroaminoto, BJ Habibie, Prof Yohanes Surya

Beyond Klub Fisika β€” Menuju Platform Komunitas

Domain Saat Ini Hanya Titik Awal

Platform saat ini berjalan di bawah domain klubfisika.or.id sebagai titik awal fase beta, karena Klub Fisika Indonesia adalah inisiator yang menyediakan infrastruktur dan sumber daya pertama. Ini bukan identitas permanen.

Visi jangka panjang: Platform ini tidak bergantung pada, dan tidak dikontrol oleh, satu entitas tunggal β€” termasuk Klub Fisika Indonesia sendiri.

SEKARANG (Beta)                        MASA DEPAN (Komunitas)
──────────────────────────             ──────────────────────────────
Inisiator : Klub Fisika Indonesia      Governance : multi-stakeholder
Domain    : klubfisika.or.id           Domain     : independen / netral
Maintainer: tim internal               Maintainer : komunitas terbuka
Funding   : mandiri (unit usaha)       Funding    : komunitas + institusi
Kontributor: terbatas                  Kontributor: dari mana saja

Komitmen Klub Fisika Indonesia

  • Kode tetap open-source (MIT) tanpa syarat dan tanpa perubahan lisensi
  • Tidak mengunci platform ke infrastruktur atau layanan proprietary
  • Semua keputusan teknis dan arsitektur didokumentasikan secara terbuka
  • Kontributor dari luar Klub Fisika disambut dengan setara

Platform ini dibangun bukan untuk menjadi produk Klub Fisika. Ia dibangun untuk menjadi infrastruktur bersama ekosistem riset Indonesia.


Cara Terlibat

Sebagai Developer

β†’ Baca CONTRIBUTING.md, cari issue berlabel good first issue

Sebagai Peneliti / Akademisi

β†’ Buka Discussion dan share perspektif domain Anda

Sebagai Guru / Pendidik

β†’ Hubungi via Discussion β€” kami butuh feedback dari ground level

Sebagai Organisasi / Institusi

β†’ Baca OUTREACH.md untuk opsi kemitraan

Sebagai Donatur / Funder

β†’ Baca FUNDING.md untuk cara mendukung platform ini


Kontribusi

Lihat CONTRIBUTING.md untuk panduan lengkap.

Komunitas pengembang dapat memulai dari:

  1. Clone monorepo ini dengan --recurse-submodules
  2. Pilih area kontribusi: apps/platform atau apps/index
  3. Baca README di masing-masing submodule
  4. Buat pull request ke repository terkait

Untuk kolaborasi institusional, diskusi terbuka, atau pertanyaan tentang adopsi platform β€” buka GitHub Discussions.


Lisensi

MIT β€” kode bebas digunakan, dimodifikasi, dan didistribusikan ulang tanpa syarat afiliasi.


Diinisiasi oleh Klub Fisika Indonesia β€” dimaintain bersama komunitas
Arsitektur Β· Auth Β· Visi Β· Governance Β· Funding Β· Outreach Β· Kontribusi

About

🌐 KF13 Community Platform β€” monorepo platform sosial + arsip riset untuk komunitas STEM Indonesia

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages