Spesifikasi Teknis

Stack, struktur project, content pipeline, dan kontrak teknis Eduverse.

Stack Aplikasi

AreaTeknologiPeran
RuntimeNext.js 16.2.11App Router, server rendering, route handling, dan metadata.
UIReact 19.2.1Komponen halaman dan interaksi client.
DokumentasiFumadocs 16.12.1Loader content, sidebar, search, dan layout dokumentasi.
AuthoringMDX dan TypeScriptMateri dengan Markdown yang dapat memakai komponen React.
StylingTailwind CSS 4Styling layout, navigation, dan komponen UI.
Validationfumadocs-mdx, Next typegen, TypeScriptValidasi content, route type, dan kontrak kode.

Struktur Folder

eduverse/
├── app/                    # route dan layout Next.js
│   ├── (home)/             # homepage, navbar, dan course catalog
│   └── (mdx)/              # renderer halaman content Fumadocs
├── content/                # source learner-facing dalam MDX
│   ├── docs/               # dokumentasi project ini
│   ├── frameworks/         # materi framework
│   ├── knowledge/          # materi pengetahuan dan course
│   └── tools/              # materi tools
├── .agents/                # governance, source, dan course context
├── components/             # komponen UI dan MDX
├── lib/source.ts           # Fumadocs loader dengan clean route
├── public/                 # aset statis
└── scripts/                # validator dan utilitas project

Kontrak Content

  • content/<root>/index.mdx membuat route /<root>.
  • content/<root>/<section>/index.mdx membuat route /<root>/<section>.
  • meta.json mengatur judul, urutan, dan sidebar; meta.json tidak membuat halaman tanpa file MDX.
  • baseUrl Fumadocs adalah string kosong, sehingga route tidak memakai prefix /docs kecuali root content memang bernama docs.
  • Internal link harus menunjuk ke route bersih yang benar-benar memiliki file sumber.

Perintah Pengembangan

pnpm dev
pnpm run types:check
pnpm run agents:check
pnpm build
pnpm exec fumadocs-mdx
pnpm run export:pdf -- /docs/fitur-belajar /knowledge/rekayasa-perangkat-lunak/pertemuan-1

types:check meregenerasi source MDX, route type, lalu menjalankan TypeScript check. Jalankan setelah perubahan struktur atau isi content.

export:pdf menggunakan Puppeteer untuk mencetak route yang sudah dirender menjadi PDF. Route diberikan sebagai argumen setelah --; hasilnya disimpan di folder pdfs/.

Endpoint Pendukung Belajar Dan AI

EndpointFungsi
/api/searchMenyediakan hasil search Fumadocs untuk menemukan materi.
/<route>.mdxMenyediakan isi Markdown halaman untuk Copy Markdown dan konteks AI.
/llms.mdx/<route>Mengembalikan satu halaman dalam format Markdown yang mudah dibaca mesin.
/llms-full.txtMenggabungkan seluruh halaman menjadi satu sumber teks untuk workflow AI atau indexing.

Tombol Open pada halaman mengarahkan konteks Markdown ke layanan AI eksternal seperti Scira AI, ChatGPT, Claude, dan T3 Chat. Project tidak memiliki chat AI internal; integrasinya menggunakan URL dan endpoint Markdown yang tersedia.

EduverseEduverse