Platform manajemen event dan live scoring untuk program IPB Lucky Sport & Art, kolaborasi antara IWDC dan Ditmawa IPB University.
| Layer | Tech |
|---|---|
| Public Site | Next.js 14, Tailwind CSS, GSAP |
| Admin Dashboard | Next.js 14, Tailwind CSS, shadcn/ui |
| Backend / API | Directus CMS |
| Realtime | Socket.io |
| Database | PostgreSQL (via Directus) |
| Auth | Directus auth via Google |
IPB-LSA/
├-- web/ # Public site (Next.js)
├-- dashboard/ # Admin dashboard (Next.js)
└-- backend/ # API & CMS (Directus)
| Doc | Path |
|---|---|
| Setup lokal (Docker, env, migrasi, troubleshooting) | docs/setup.md |
| Manual DB patches (jalankan ini kalau DB kamu sudah lama) | docs/db-patches.md |
| Schema & arsitektur database | schema.md |
| Homepage system (layout, scroll, blur pipeline, semua section) | web/app/HomepageDocs.md |
Tiap app berdiri sendiri. Buka terminal terpisah untuk masing-masing.
Backend (Directus)
cd backend
npm run develop
# runs on http://localhost:8055Public Site
cd web
npm run dev
# runs on http://localhost:3000Dashboard
cd dashboard
npm run dev
# runs on http://localhost:3001Setiap app punya .env sendiri. Copy dari .env.example jika tersedia, atau minta ke PM.
cp backend/.env.example backend/.envRouting (Next.js App Router)
app/[route]/page.jsx- entry point tiap halaman, dibuat setipis mungkinapp/[route]/_components/- komponen spesifik halaman tersebutcomponents/- komponen yang dipakai di lebih dari satu halamanlib/- helper functions, API calls, socket client
Naming
- Komponen: PascalCase (
EventCard.jsx) - Utilities / helpers: camelCase (
formatDate.js) - Folder: kebab-case (
_components/,live-score/)
main # production-ready code only
dev # active development, PR target
feature/xxx # fitur baru
fix/xxx # bug fix
Jangan langsung push ke main. Buat PR ke dev, minta review dulu. (kalo udh deploy)
Dikerjakan oleh tim IWDC (IPB Web Development Community) berkolaborasi dengan Ditmawa IPB University.
- Adillah Ridwan
- Gilang Muhamad
- Arya Faiz