Skip to content

About

Platform pembelajaran teknologi: peta teknologi, roadmap belajar, proyek praktik, berita arXiv, AI mentor. .NET 10 + Next.js 16 + PostgreSQL 17, 87 uji unit + 18 integrasi, 8 gerbang CI. Hosting Vercel + Koyeb + Neon - gratis, tanpa kartu; citra di GHCR, produksi hanya-baca (ADR-020). Tertahan: CI mati karena billing (#57) + ketiga akun.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

242 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TechVerse X

Explore. Learn. Build. Innovate.

Platform pembelajaran teknologi terdepan. Satu tempat berisi peta teknologi, roadmap belajar, tutorial, proyek praktik, tools, berita, dan AI mentor — dengan isi yang diperbarui secara otomatis.

Sasaran pemakai: pemilik sendiri, mahasiswa, engineer, sampai perusahaan yang butuh onboarding teknologi baru.


Status: situs sudah tayang — isinya yang belum ada

Situs publik, dibuka siapa pun: web techverse-x-web.vercel.app · API techverse-x-api.vercel.app · PostgreSQL di Neon. Gratis dan tanpa kartu (ADR-019, ADR-026); host API-nya Vercel kontainer, bukan Koyeb yang tak lagi gratis untuk akun baru (ADR-025).

Terukur 2026-10-06 pada alamat produksi: beranda menampilkan 14 bidang, /cari?q=quantum menemukan bidang Quantum Computing, permukaan tulis API tertutup (POST → 405), dan nol topik (totalItems: 0). Repo ini publik, dan CI serta citra GHCR hidup.

🔜 Langkah berikutnya: isi, bukan kode

Ukuran resmi proyek — topik berstatus tinjau (RENCANA-V1) — masih 0 dari 22. Bulan 1 (URL publik) dan Bulan 3 (pencarian, Knowledge Graph dasar) sudah ada di produksi; Bulan 2 (#42, tujuh topik AI Agents) belum bergerak karena tidak ada jalan membawa tulisan ke produksi.

Jalannya sudah ada, dalam dua langkah yang sengaja terpisah:

  1. ADR-027 — pasang isi. Isi hidup sebagai berkas di isi/, dibaca di PR, lalu dipasang ke produksi lewat workflow bergerbang isi.yml — paling jauh sampai draf.
  2. ADR-021 — naikkan ke tinjau. Workflow tinjau.yml; nama pemeriksa diambil dari github.actor, bukan diketik. Satu-satunya jalan ke tinjau.

Satu topik pilot (Model Context Protocol) sudah ditulis dari sumber resmi dan terbukti terpasang dari nol ke API sungguhan. Kedua workflow belum pernah dijalankan di produksi — itu pemicu pertama pemilik.

🔎 Yang sudah ada dari Bulan 3

Pencarian teks penuh PostgreSQL (ADR-022): kotak cari di tiap halaman, /cari?q=…, dan bidang ikut dicari. Knowledge Graph dasar (ADR-023): relasi antar-topik dijaga basis data dan tampil sebagai "Topik terhubung" — tapi produksi nol sisi, sebab produksi nol topik. Explore dilayani rute yang sudah ada dan /learn menunggu pemicunya (ADR-024). Masih terbuka di milestone Bulan 3 — Explore, Learn & Pencarian: #54 (pencarian belum menjangkau isi halaman) dan pemicu Learn.

Yang sudah terbukti hidup: rantai Next.js → API .NET → PostgreSQL, dengan health check yang benar-benar menyentuh dependensinya. Diverifikasi tiga kali — di mesin pengembang (2026-09-03), dari dalam peti kemas produksi, tiga kontainer, volume basis data baru (2026-09-07), dan terhadap citra yang berlaku hari ini (2026-09-10, #48) yang sekalian menegaskan bentuk produksi itu tidak punya permukaan tulis: 14 bidang, nol topik.

Sudah jalan Belum ada
API .NET 10 + PostgreSQL 17 Navigasi tujuh bagian — sengaja bertahap: satu bagian masuk menu hanya kalau halamannya berisi di produksi (ADR-024)
Irisan vertikal Technology (buat · ambil · cari) Autentikasi
Migrasi EF Core, schema per bounded context Kode AI apa pun
Health check live/ready yang menguji dependensi Vector DB, Neo4j, event bus
Halaman web yang membaca API sungguhan Pengambilan berita
Pencarian teks penuh PostgreSQL — tsvector terhitung di technologies dan fields, halaman /cari, kotak cari di tiap halaman (ADR-022) Pencarian ke dalam isi halaman (#54) — hari ini yang tercari nama dan ringkasan
CI: 8 dari 9 gerbang blueprint menyala — Lint · Unit · Integrasi · SAST · Dependency Scan · Secret Scan · Container Scan · Build, plus penjaga "migrasi bisa dijalankan dari nol". Yang belum: Contract Test (belum ada kontrak antar-layanan) Domain sendiri — situs tayang di subdomain vercel.app
Citra produksi terbit ke GHCR tiap main bergerak — API, web, dan bundel migrasi EF Terraform, Kubernetes
Kelima bagian template ADR-012 punya tabelnya sendiri — roadmap (langkah 0 = prasyarat), tools (m2m), mini project, resources, berikut halaman /teknologi/<slug> dan endpoint isinya (#41, PR #44) /learn — sengaja ditunda sampai #42 dan satu roadmap terisi di produksi (ADR-024)
Relasi antar-topik (Knowledge Graph dasar) — dibuat lewat endpoint tulis, tampil sebagai "Topik terhubung" di halaman topik, dijaga kunci asing di kedua ujung (ADR-023). Di produksi nol sisi, sebab nol topik Jalan membuang langkah roadmap (jalan membuang relasi, sumber, proyek, dan alat sudah ada) — perlu keputusan penomoran ulang

🐳 Redis dipakai di pengembangan saja. ADR-016 memutuskan ia tidak di-provision di V1 — ia harus membuktikan dirinya dulu dengan beban yang benar-benar ada. Kesiapan API sudah tahu cara hidup tanpanya, dan itu diuji (tests/integration).

✅ Ke-22 keputusan Fase 0 dan Fase 1 sudah diambil pada 2026-09-04 dan tercatat di docs/KEPUTUSAN.md — baca itu lebih dulu. Kolom "Belum ada" di tabel atas sekarang berarti belum dibangun, bukan lagi belum diputuskan.

⚖️ Sisi hukum sudah tuntas untuk V1 (Issue #17, ditutup 8 Sep 2026). Keempat dokumen ketentuan layanan dibaca di peramban sungguhan, dan batas kutipan ditetapkan: arXiv boleh metadata penuh (CC0); sumber lain hanya judul, tautan, nama sumber, dan tanggal — nol kutipan. Rekamannya di AUDIT-KELAYAKAN.md.

⚠️ Kalau OpenAI dipakai, dua hal mengikat: §10 melarang memasang nama/logo mereka di situs tanpa izin tertulis ("Powered by OpenAI" melanggarnya), dan Sharing & Publication Policy menuntut manusia memikul tanggung jawab akhir atas isi terbit — yang berbenturan dengan tingkat draf. Sejak 2026-09-28 bawaannya bukan OpenAI melainkan tier gratis tanpa kartu yang tidak melatih model dengan data kita — Groq untuk draf, Cloudflare Workers AI untuk Mentor dan embedding (ADR-026). Dan terukur: tanpa sumber yang dikurasi, model kecil menjawab salah dengan yakin, jadi tinjauan manusia tetap satu-satunya jalan ke tinjau. Belum menyala: V1 tidak memanggil model sama sekali.


Menjalankan

Butuh .NET SDK 10, Node 22+, dan Docker.

# Windows                      # Linux / WSL / macOS
.\run.ps1 up                   make up        # Postgres + Redis
.\run.ps1 migrate              make migrate   # bikin tabelnya
.\run.ps1 api                  make api       # http://localhost:5080
.\run.ps1 seed                 make seed      # isi contoh (API dari baris di atas)
.\run.ps1 web                  make web       # http://localhost:3000 - coba /cari?q=quantum

.\run.ps1 tanpa argumen menampilkan seluruh perintah. Isi run.ps1 dan Makefile sengaja dijaga sama: yang satu untuk Windows, yang lain untuk Linux/WSL/macOS (CI tidak memanggil keduanya). Perintah seed di keduanya menjalankan satu berkas yang sama, database/seeds/seed.mjs — sampai 2026-09-17 masing-masing punya salinan sendiri, dan salinan untuk make sudah menyimpang.

Gerbang yang sama dengan CI, sebelum push:

.\run.ps1 verify               make verify   # build ketat, uji, tautan, lint, build web
.\run.ps1 gerbang-isi          make gerbang-isi  # isi dipasang 2x, uji-ganti, uji-media ke API sungguhan (butuh up)
.\run.ps1 ci                   make ci       # verify + gerbang-isi + pindai rahasia + job citra (butuh Docker)

ci menjalankan seluruh gerbang ci.yml di mesin pengembang sebelum push — tiga gerbang isi yang butuh API hidup (gerbang-isi: basis data sekali pakai, isi dipasang dua kali, uji-ganti, uji-media; berkasnya sama dengan yang dipanggil CI), gitleaks atas seluruh riwayat, tiga citra, gerbang ADR-020, tumpukan produksi dari volume kosong, pemindai halaman, Trivy. Diukur: hijau end-to-end dalam 161 detik (2026-09-28, sebelum gerbang isi ada). 🔴 Antara 2026-10-06 dan 2026-10-07 kata "seluruh" itu keliru: gerbang isi berbasis API hanya ada di ci.yml, dan PR #90 merah di CI karena salah satunya sementara verify lokal hijau. Kini satu berkas, database/isi/gerbang-isi.mjs, dipanggil CI dan kedua perintah lokal. Ia alat pengembang, bukan pengganti CI: CI proyek ini tetap GitHub Actions, dan infrastruktur proyek tidak bergantung pada mesin siapa pun (ADR-026). Gunanya menangkap merah sebelum push — termasuk di cabang yang belum punya PR, sebab ci.yml hanya memeriksa main dan PR. Sampai 2026-09-28 ia juga satu-satunya pemeriksa yang bisa jalan: kuota menit Actions yang dibagi semua repo privat di akun yang sama habis 10 September (#57); sejak repo publik, menit CI-nya tidak masuk kuota itu.

⚠️ verify dan test menuntut up LALU migrate lebih dulu. Uji integrasi menulis baris ke PostgreSQL sungguhan — kesiapan yang diuji tanpa dependensi sungguhan tidak mengukur apa pun. Tanpa migrate, galatnya relation "technology.technologies" does not exist.

Tautan di dokumen: issue dan PR ditulis ABSOLUT

Satu aturan, dan sengaja tanpa hitungan ../:

Tautan relatif hanya boleh menunjuk berkas di dalam repo. Issue, PR, milestone, dan label ditulis URL penuh https://github.com/xtheoputra/techverse-x/....

Sebabnya bisa diukur: halaman blob GitHub meresolusi tautan relatif dengan aturan URL biasa, jadi jumlah ../ yang benar bergantung pada kedalaman berkasnya dan berapa segmen yang dimakan nama ref-nya. Cabang di repo ini bernama fase-1/... — satu garis miring, dua segmen — sementara main satu. Tidak ada satu angka yang benar di keduanya: sebelum aturan ini dipasang, 71 dari 222 tautan issue rusak dibaca di main, dan 221 dari 222 dibaca di cabang. Gerbangnya .\run.ps1 tautan / make cek-tautan, ikut di verify dan di CI, dan kepala skripnya memuat ketiga pengukuran yang melahirkan aturan itu.

Komentar kode ikut diperiksa, sebab dokumentasi XML C# dan JSDoc di repo ini ditulis dalam Markdown — dan dua tautan issue di apps/web/src/lib/lingkungan.ts memang rusak. Keduanya juga memperlihatkan kenapa aturannya bukan sekadar "jangan keluar dari pohon repo": dari berkas empat tingkat dalam, empat ../ mendarat tepat di akar repo, jadi ia tidak keluar dari pohon — ia menunjuk berkas bernama issues/42 yang tidak ada.

Gerbang halaman jadinya, di luar verify

Aturan teks pembaca ADR-024 — tidak ada "Bulan N", "menyusul", nomor ADR, perintah run.ps1, atau alamat internal di teks yang terlihat — hanya bisa diukur di halaman yang sudah tergambar, bukan di kode web. Tiga dari sembilan pelanggaran pertamanya datang dari data, yaitu ringkasan bidang yang disemai migrasi; pemindai kode tidak akan pernah melihatnya.

.\run.ps1 halaman              make cek-halaman

Ia menuntut API hidup dan build produksi web (bukan next dev — aturannya memang membedakan keduanya), jadi ia sengaja di luar verify. Di CI ia tetap jalan: job citra menyalakan docker-compose.prod.yml lalu memanggil pemindai yang sama, di job yang memang sudah membangun ketiga citranya.

Selain memindai teks ia menelusuri dari /, membandingkan jumlah halaman /teknologi/* yang tercapai dengan semua yang dikenal API, menolak blok "Topik terhubung" yang tampil kosong (ADR-023), dan menuntut ringkasan setiap alat yang dikirim API benar-benar terlihat di halaman topiknya. Pembandingnya membaca API halaman demi halaman sampai hasNextPage salah — sampai 2026-09-28 ia hanya membaca halaman pertama, jadi diam-diam berhenti di 20 topik. Angkanya berbeda di dua bentuk, dan keduanya benar:

Bentuk Halaman /teknologi/*
produksi (yang dijalankan CI) 19 17 dari 17 — nol topik, jadi ketujuh belas bidang itulah seluruh isinya
pengembangan (6 topik contoh) 25 23 dari 23

(Diukur ulang 2026-10-07 sesudah tiga bidang Deep Tech ditambahkan; sebelumnya 16 → 14 dari 14 dan 22 → 20 dari 20.)

Isi contoh itu bukan kurikulum

seed memasukkan enam topik contoh, mengisi kelima bagian satu di antaranya, dan mencatat satu relasi antar-topik — sekadar supaya layar dan endpoint ada isinya. Cara isi sungguhan lahir sudah diputuskan di ADR-012 (kurasi → draf → tinjau oleh manusia), dimulai dari tujuh topik AI Agents di #42, dan jalan terakhirnya ke produksi ada di ADR-021. Tidak satu pun lewat seed.


Isi Repositori

Dokumen

Berkas Isi
KERANGKA.md Dokumen utama. Empat bagian dikte pemilik — peta teknologi, produk, identitas & struktur aplikasi, dan Engineering Blueprint v1 — ditutup daftar 30 butir yang menunggu keputusan.
AUDIT-KESEGARAN.md Dua audit isi. Bagian A memeriksa peta dua belas teknologi — seluruhnya berstatus sebagian usang. Bagian B memeriksa empat bidang baru/berubah.
AUDIT-KELAYAKAN.md Dua audit kelayakan. Bagian A memeriksa enam sumber berita, Bagian B memeriksa empat pilihan arsitektur.
docs/KEPUTUSAN.md Ke-22 keputusan dalam satu halaman, berikut cara membatalkan tiap keputusan. Berlaku di atas KERANGKA.md kalau keduanya berbeda.
docs/RENCANA-V1.md Rencana enam bulan yang menggantikan KERANGKA.md 2.9. Deployment naik dari Bulan 6 ke Bulan 1.
docs/PENYEBARAN.md Runbook penyebaran, netral platform. Kredensial menarik citra, urutan postgres → migrate → api → web, variabel lingkungan, dan health check mana yang dipakai untuk apa.
docs/adr/ Dua puluh lima Architecture Decision Record. Yang menyangkut penyebaran: ADR-019 memilih Vercel + Koyeb + Neon (gratis, tanpa kartu) dan menggantikan ADR-017 — kaki Koyeb-nya gugur untuk akun baru, dan ADR-025 menguji penggantinya; ADR-018 mengatur kapan citra dibangun ulang.
docs/SESSION-LOG.md Catatan sesi kerja, urutan terbaru di atas.

Kode

apps/api/            Host ASP.NET Core — health check, correlation id, OpenAPI
apps/web/            Next.js 16 App Router
services/technology/ Bounded context pertama — vertical slice + DDD ringan
packages/contracts/  Kontrak API yang dipakai bersama
tests/unit/          uji domain + infrastruktur
tests/integration/   uji host sungguhan + PostgreSQL sungguhan
database/            SQL migrasi hasil generate + skrip isi contoh
infrastructure/      Init Docker

Struktur yang dituju ada di KERANGKA.md 4.7. Yang ada sekarang baru sebagiannya — direktori untuk bagian yang belum diputuskan sengaja belum dibuat.

Aturan pemisahan yang dipakai

KERANGKA.md merekam apa yang dikatakan pemilik, apa adanya. Hasil pemeriksaan fakta ditaruh di berkas audit terpisah, supaya kata-kata pemilik tidak tercampur dengan koreksi. Tidak ada koreksi audit yang diterapkan ke KERANGKA.md tanpa keputusan eksplisit — satu-satunya bagian tulisan asisten di sana adalah 4.20 Rekonsiliasi, dan itu sudah ditandai sebagai pengecualian.


Tujuh Belas Bidang Teknologi

⚠️ Bagian ini dulu memuat dua belas bidang. Angka itu dibatalkan ADR-010; yang mengikat sekarang empat belas, dan daftarnya ditegakkan kode — FieldCatalog disemai migrasi, dan FieldCatalogTests menuntut jumlah yang tepat. Dua bidang yang sebelumnya tidak tercantum di sini sama sekali: Data Engineering dan Edge AI.

🆕 Sejak 2026-10-07 menjadi tujuh belas. Pemilik menambahkan tiga bidang Deep Tech di bawah XR — lihat ADR-010 Pembaruan 2026-10-07, termasuk satu koreksi atas teks yang diajukan (superkonduktor suhu kamar belum terbukti).

Prioritas Bidang
Core (6) AI & Machine Learning · AI Agents · Cybersecurity · Cloud & Infrastructure · Data Engineering · IoT
Supporting (7) Edge AI · Robotics · Quantum Computing · Biotechnology · Blockchain · Renewable Energy · Advanced Computing & Hardware
Peripheral (4) Space Technology · XR (AR/VR/MR) · Neurotechnology & BCI · Advanced Materials & Nanotech

Tiga nama sengaja berbeda dari daftar lama: Cloud & Infrastructure (bukan "Cloud" saja), XR (AR/VR/MR) (bukan "AR/VR"), dan Edge AI yang berdiri sendiri — bukan anak IoT.

Ditambah satu kategori terbuka: teknologi baru yang belum muncul.

Tujuh Bagian Aplikasi

TechVerse X
│
├── 🌐 Explore          Jelajahi teknologi
├── 🧠 Learn            Roadmap & pembelajaran
├── 🧪 Labs             Eksperimen & project
├── 🤖 AI               AI Mentor
├── 📰 Intelligence     Berita & perkembangan terbaru
├── 🕸 Knowledge Graph  Hubungan antar teknologi
└── 🚀 Future           Emerging technologies

✅ Keduanya sudah bisa hidup berdua: nav utama berisi fungsi, dan tiap bidang punya URL kanonik /teknologi/<slug> — Issue #1 ditutup, lihat ADR-009. Bidangnya kini empat belas, bukan dua belas (ADR-010). Navigasinya sengaja bertahap — lihat ADR-024 untuk pemicu tiap bagian.


Temuan Audit yang Paling Menentukan

Tiga audit dijalankan pada 2026-09-02 (total 29 agen, nol gagal). Yang paling perlu diketahui sebelum menambah kode:

  1. ⏰ .NET 9 berhenti didukung 10 November 2026. Yang benar .NET 10 (LTS sampai 14 November 2028). Turun ke .NET 8 tidak menolong — berakhir di tanggal yang sama persis. → B1 · sudah diterapkan, ADR-002
  2. LangGraph tidak punya SDK .NET. Memakainya diam-diam berarti dua runtime. → B2 · sudah diputuskan: LangGraph dibuang, pakai Microsoft Agent Framework, ADR-007
  3. Auth.js secara desain bukan penerbit token untuk API di luar aplikasi Next.js-nya. → B3 · sudah diputuskan: V1 tanpa login; kalau nanti dipasang, Clerk sebagai IdP, ADR-013
  4. Kurikulumnya akan lahir usang kalau dipakai apa adanya — AutoGen maintenance mode, Sora ditutup, GPT-5 dipensiunkan. → Enam Kesalahan Paling Berbahaya
  5. Otomatisasi berita layak, tapi GitHub Trending tidak punya API dan hanya arXiv yang jelas boleh dipublikasi ulang. → Bagian A

Kedua berkas audit membawa peringatan metodenya masing-masing. Baca bagian peringatan di kaki tiap berkas sebelum mengutip angkanya.


Cara Membaca Repositori Ini

  1. Buka docs/KEPUTUSAN.md — ke-22 keputusan dalam satu halaman. Ini yang berlaku.
  2. Buka docs/RENCANA-V1.md — apa yang dikerjakan bulan ini, dan satu angka untuk mengukur kemajuannya.
  3. Buka ADR-008 — batas apa yang sudah dan belum dibangun; bagian Pembaruan mencatat gerbang mana yang sudah terangkat.
  4. KERANGKA.md dibaca sebagai rekaman kata pemilik, bukan sebagai rencana yang berlaku.

Lisensi

Belum ditentukan — pilihannya milik pemilik (ADR-026). Repositori ini publik sejak 2026-09-28, tapi tanpa berkas LICENSE seluruh hak cipta tetap pada pemilik: kodenya boleh dibaca dan di-fork di GitHub menurut Ketentuan Layanan GitHub, dan tidak otomatis boleh dipakai ulang, diubah, atau disebarkan di luar itu.

About

Platform pembelajaran teknologi: peta teknologi, roadmap belajar, proyek praktik, berita arXiv, AI mentor. .NET 10 + Next.js 16 + PostgreSQL 17, 87 uji unit + 18 integrasi, 8 gerbang CI. Hosting Vercel + Koyeb + Neon - gratis, tanpa kartu; citra di GHCR, produksi hanya-baca (ADR-020). Tertahan: CI mati karena billing (#57) + ketiga akun.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages