Dokumentasi untuk menjalankan dan mengembangkan proyek monorepo ini secara lokal.
- Quick start (install & run)
- Struktur proyek
- Environment & konfigurasi (.env)
- Development
- Build & produksi
- Lint / format / test
- Troubleshooting
- Gitflow
- Pastikan prasyarat terpasang (lihat bagian selanjutnya).
- Dari root repository jalankan:
pnpm install
cd apps/api
composer install
cd ..\..- Jalankan frontend dan backend (lihat bagian "Development").
apps/web— Next.js frontend (TypeScript)apps/api— Backend (Laravel/PHP)packages/ui— Shared React UI componentspackages/*— konfigurasi bersama (eslint, typescript, dll.)- Root berisi
package.json,pnpm-workspace.yaml,turbo.json,tsconfig.jsondan skrip workspace
Lihat folder masing-masing untuk README/petunjuk tambahan.
- Node.js (LTS direkomendasikan, 22+)
- pnpm (direkomendasikan) — https://pnpm.io/
- PHP (untuk
apps/api, versi sesuaicomposer.json) - Composer (untuk dependency PHP)
Setiap aplikasi mungkin memerlukan file .env.
- Buat salinan
.env.examplepada masing-masing paket:apps/web/.env.local,apps/api/.env. - Contoh:
cd apps/api
cp .env.example .envBerikut beberapa pendekatan — pilih yang sesuai role (FE/BE).
- Menjalankan per-paket (direkomendasikan saat debugging)
Frontend (Next.js):
cd apps/web
pnpm devBackend (Laravel):
cd apps/api
php artisan serve --host=127.0.0.1 --port=8000
# atau
pnpm dev
# atau
composer dev- Menjalankan dari root
# jalankan dev untuk web (menggunakan filter pnpm/turbo)
pnpm dev --filter=web
# jalankan dev untuk api
pnpm dev --filter=api
# jalankan semua service
pnpm dev- Build frontend (Next.js):
cd apps/web
pnpm build
pnpm start- Backend: ikuti prosedur deploy Laravel (migrate, config:cache, queue:restart sesuai kebutuhan)
- Lint (root atau paket):
pnpm lint
# atau per paket
#web
pnpm lint --filter=web
#api
pnpm lint --filter=api- Format (prettier/eslint --fix):
pnpm format- Test:
pnpm test
# atau per paket
#web
pnpm test --filter=web
#api
pnpm test --filter=apiPeriksa package.json masing-masing paket untuk detail skrip.
- Masalah pnpm: hapus
node_modules, jalankanpnpm store prunelalupnpm install.
# dari root
pnpm store prune
pnpm install- Masalah Laravel: jalankan
php artisan key:generate, cekstorage/permission, jalankan migrasiphp artisan migrate. - Cache Turbo: hapus direktori
.turbodi root jika build/CI aneh.