project-management Svelte Themes

Project Management

Internal project management system to handle projects, daily activities, partners, certifications, and financial reporting. Built with Laravel and SvelteKit.

๐Ÿ“‹ Project Management System

Aplikasi manajemen proyek internal untuk mengelola proyek, aktivitas, mitra/partner, sertifikasi, dan laporan keuangan.


๐Ÿ“– Deskripsi

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):

  • Backend sebagai RESTful API yang menangani bisnis logika, autentikasi, otorisasi, dan manajemen data.
  • Frontend sebagai Single Page Application (SPA) yang mengonsumsi API dan menyajikan antarmuka pengguna.

Fitur Utama

  • ๐Ÿ—‚๏ธ Manajemen Proyek โ€” CRUD proyek dengan filter status, kategori, dan pencarian.
  • ๐Ÿ“ Pencatatan Aktivitas โ€” Dokumentasi aktivitas per-proyek dengan multi-attachment dan AI-powered document extraction.
  • ๐Ÿค Manajemen Mitra โ€” Database customer, vendor, dan partner dengan kontak detail.
  • ๐Ÿ“œ Sertifikasi โ€” Pelacakan sertifikat barang dan proyek sertifikasi.
  • ๐Ÿ’ฐ Laporan Keuangan โ€” Ringkasan finansial proyek.
  • ๐Ÿ“Š Dashboard โ€” Ringkasan data proyek dan statistik.
  • ๐Ÿ” Role-Based Access Control โ€” Manajemen role & permission berbasis Spatie.
  • ๐Ÿ“‹ Activity Log โ€” Audit trail untuk semua perubahan data.

๐Ÿ—๏ธ Arsitektur Sistem

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     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)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โš™๏ธ Tech Stack

Backend

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

Frontend

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

Tools Pendukung

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

๐Ÿ“‹ Prerequisites

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.


๐Ÿš€ Installation & Setup Guide

1. Clone Repository

# 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

2. Setup Backend (Laravel)

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

Konfigurasi .env Backend

Buka 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]

Jalankan Migration & Seeder

# 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

Jalankan Backend Server

# 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


3. Setup Frontend (SvelteKit)

[!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

Konfigurasi .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

Jalankan Frontend Dev Server

npm run dev

Frontend akan berjalan di: http://localhost:5174 (atau port yang dikonfigurasi)


4. Verifikasi Instalasi

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

๐Ÿ“ Struktur Repository

[project-root]/
โ”œโ”€โ”€ backend/        # Laravel REST API
โ”œโ”€โ”€ frontend-v1/    # SvelteKit Frontend v1 (Axios-based)
โ””โ”€โ”€ frontend-v2/    # SvelteKit Frontend v2 (Fetch-based)

[!IMPORTANT] Setiap repository memiliki .git sendiri. Pastikan untuk mengelola version control secara independen per-repository.


๐Ÿงช Testing

# Backend โ€” PHPUnit
cd backend
php artisan test

# Frontend โ€” Vitest
cd frontend-v1      # atau frontend-v2
npm run test

๐Ÿ“š Dokumentasi Lanjutan

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

๐Ÿ‘ฅ Tim & Kontributor

NO Nama Role
1 Kupzed Fullstack Developer

Top categories

Loading Svelte Themes