Aplikasi manajemen proyek internal untuk mengelola proyek, aktivitas, mitra/partner, sertifikasi, dan laporan keuangan.
Project Management System adalah aplikasi Project Management berbasis web yang dirancang untuk mengelola siklus hidup proyek secara menyeluruh โ mulai dari pendataan proyek, pencatatan aktivitas harian, manajemen mitra (customer & vendor), pelacakan sertifikasi barang, hingga pelaporan keuangan.
Aplikasi ini dibangun dengan arsitektur terpisah (decoupled):
โโโโโโโโโโโโโโโโโโโโโโโ HTTP/JSON โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Backend (Laravel) โ โโโโโโโโโโโโโโโโโโ โ Frontend (SvelteKit) โ
โ - be: backend โ โโโโโโโโโโโโโโโโโโโบโ - fe-v1: frontend-v1 โ
โ REST API + JWT โ API Response โ - fe-v2: frontend-v2 โ
โ Port: 8000 โ โ Port: 5174 / 5175 โ
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ Database (MySQL) โ
โโโโโโโโโโโโโโโโโโโโโโโ
| Teknologi | Versi | Keterangan |
|---|---|---|
| PHP | ^8.2 | Runtime server |
| Laravel | ^11.0 | Framework PHP |
| JWT Auth | ^2.3 | php-open-source-saver/jwt-auth โ Autentikasi Token |
| Laravel Sanctum | ^4.0 | API Token (tersedia sebagai alternatif) |
| Spatie Permission | ^6.23 | Role & Permission Management |
| MySQL / SQLite | โ | Database relasional |
| Composer | ^2.x | PHP dependency manager |
| Teknologi | Versi | Keterangan |
|---|---|---|
| SvelteKit | ^2.22.0 | Framework fullstack Svelte |
| Svelte | ^5.x | Reactive UI framework |
| TypeScript | ^5.0 | Type-safe JavaScript |
| Tailwind CSS | ^4.x | Utility-first CSS framework |
| Vite | ^7.x | Build tool & dev server |
| Axios | ^1.10 | HTTP client (v1) |
| Chart.js | ^4.5 | Visualisasi data/grafik |
| SweetAlert2 | ^11.x | Dialog/notifikasi interaktif |
| Tool | Keterangan |
|---|---|
| ESLint | Linting JavaScript/TypeScript |
| Prettier | Code formatting |
| Vitest | Unit testing framework |
| Playwright | Browser-based testing |
| Laravel Pint | PHP code style fixer |
| PHPUnit | PHP testing framework |
Pastikan tools berikut sudah terinstall di mesin development Anda:
| Tool | Versi Minimum | Cek Versi |
|---|---|---|
| PHP | 8.2+ | php -v |
| Composer | 2.x | composer -V |
| Node.js | 18+ (disarankan 20+) | node -v |
| NPM | 9+ | npm -v |
| MySQL | 8.0+ (atau SQLite) | mysql --version |
| Git | 2.x | git --version |
[!TIP] Untuk pengguna Windows, Laragon sangat direkomendasikan karena sudah mencakup PHP, MySQL, Apache/Nginx, dan Composer dalam satu paket.
# Project Management
git clone https://github.com/indogreen/project-management.git
cd project-management
# Laravel Backend (pada terminal terpisah)
cd backend
# SvelteKit Frontend v1 (pada terminal terpisah)
cd frontend-v1
# SvelteKit Frontend v2 (pada terminal terpisah)
cd frontend-v2
cd backend
# Install dependencies PHP
composer install
# Salin file environment
copy .env.example .env # Windows
# cp .env.example .env # Linux/Mac
# Generate application key
php artisan key:generate
# Generate JWT secret key
php artisan jwt:secret
.env BackendBuka file .env dan sesuaikan konfigurasi berikut:
# โโ Aplikasi โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
APP_NAME="[Nama Proyek]"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
# โโ Database โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=[nama_database]
DB_USERNAME=root
DB_PASSWORD=
# โโ Laravel dev server defaults (Opsional) โโโโโโ
SERVER_HOST=192.168.1.66
SERVER_PORT=8001
# โโ AI Document Extraction (Opsional) โโโโโโโโโโโ
AI_BASE_URL=[url_ai_provider]
AI_API_KEY=[api_key_anda]
AI_MODEL=[nama_model]
# โโ JWT โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
JWT_SECRET=[akan terisi otomatis setelah php artisan jwt:secret]
JWT_ALGO=[akan terisi otomatis setelah php artisan jwt:secret]
# Buat tabel di database
php artisan migrate
# (Opsional) Jalankan seeder untuk data awal
php artisan db:seed
# Buat symbolic link untuk storage publik
php artisan storage:link
# Cara 1: Laravel dev server saja
php artisan serve
# Cara 2: Jalankan semua service sekaligus (server + queue + logs + vite)
composer run dev
Server backend akan berjalan di: http://localhost:8000
[!NOTE] Langkah ini sama untuk v1 (
frontend-v1) maupun v2 (frontend-v2).
cd frontend-v1 # atau frontend-v2
# Install dependencies Node.js
npm install
# Salin file environment
copy .env.example .env # Windows
# cp .env.example .env # Linux/Mac
.env Frontend# Server development
DEV_HOST=localhost
DEV_PORT=5174 # Gunakan port berbeda untuk v2 (misal: 5175)
# Server preview
PREVIEW_HOST=localhost
PREVIEW_PORT=4174
# HMR (Hot Module Replacement)
HMR_HOST=localhost
HMR_PORT=24679 # Gunakan port berbeda untuk v2
# Public โ URL Backend API
PUBLIC_API_BASE_URL=http://127.0.0.1:8000/api
PUBLIC_STORAGE_BASE_URL=http://127.0.0.1:8000/storage
npm run dev
Frontend akan berjalan di: http://localhost:5174 (atau port yang dikonfigurasi)
| Checklist | URL | Expected |
|---|---|---|
| โ Backend API | http://localhost:8000/api/auth/login |
Response JSON |
| โ Frontend v1 | http://localhost:5174 |
Halaman Login |
| โ Frontend v2 | http://localhost:5175 |
Halaman Login |
[project-root]/
โโโ backend/ # Laravel REST API
โโโ frontend-v1/ # SvelteKit Frontend v1 (Axios-based)
โโโ frontend-v2/ # SvelteKit Frontend v2 (Fetch-based)
[!IMPORTANT] Setiap repository memiliki
.gitsendiri. Pastikan untuk mengelola version control secara independen per-repository.
# Backend โ PHPUnit
cd backend
php artisan test
# Frontend โ Vitest
cd frontend-v1 # atau frontend-v2
npm run test
| Dokumen | Deskripsi |
|---|---|
| API Documentation | Template & referensi endpoint API |
| Frontend Architecture | Arsitektur & pola frontend SvelteKit |
| Database Structure | Skema tabel & relasi database |
| Code Standards & Changelog | Standar kode & catatan perubahan |
| NO | Nama | Role |
|---|---|---|
| 1 | Kupzed | Fullstack Developer |