w

Panduan Instalasi

Selamat datang di platform kami. Panduan ini akan membantu Anda mengatur dan mulai menggunakan semua alat dan fungsionalitas yang tersedia.

Persyaratan Sistem

Browser yang Didukung

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

Perangkat Mobile

  • iOS 14+
  • Android 8+
  • Browser mobile modern

Persyaratan Jaringan

  • Koneksi internet stabil
  • Bandwidth minimum: 1 Mbps
  • Direkomendasikan: 5+ Mbps untuk pengalaman yang lebih baik

Instalasi Lokal (Pengembang)

Prasyarat

  • Node.js 18.0+
  • pnpm 8.0+
  • Git 2.30+

Langkah Instalasi

  1. Clone Repository
    git clone https://github.com/your-org/woker-job.git
    cd woker-job
    
  2. Instal Dependensi
    pnpm install
    
  3. Konfigurasi Variabel Lingkungan
    cp .env.example .env
    # Edit .env dengan konfigurasi Anda
    
  4. Mulai Layanan
    # Mulai backend
    pnpm --filter back-end dev
    
    # Di terminal lain, mulai frontend
    pnpm --filter web dev
    
  5. Verifikasi Instalasi

Konfigurasi Pengembangan

Struktur Proyek

woker-job/
├── apps/
│   ├── back-end/     # API NestJS
│   └── web/          # Frontend Nuxt.js
├── packages/         # Paket bersama
└── docs/            # Dokumentasi

Script yang Tersedia

# Pengembangan
pnpm dev              # Mulai semua layanan
pnpm build            # Build untuk produksi
pnpm test             # Jalankan test
pnpm lint             # Periksa kode

# Manajemen konten
pnpm content:check    # Verifikasi sinkronisasi multibahasa
pnpm content:init     # Inisialisasi struktur bahasa

Konfigurasi Produksi

Docker (Direkomendasikan)

# Build image
docker build -t woker-job .

# Jalankan container
docker run -p 3000:3000 woker-job

Deploy Manual

  1. Build Aplikasi
    pnpm build
    
  2. Konfigurasi Server
    • Node.js 18+
    • PM2 atau serupa untuk manajemen proses
    • Nginx untuk reverse proxy
  3. Variabel Lingkungan Produksi
    NODE_ENV=production
    DATABASE_URL=your_database_url
    JWT_SECRET=your_jwt_secret
    

Konfigurasi Database

PostgreSQL (Direkomendasikan)

# Instal PostgreSQL
sudo apt-get install postgresql postgresql-contrib

# Buat database
sudo -u postgres createdb woker_job

# Jalankan migrasi
pnpm migration:run

SQLite (Pengembangan)

# Konfigurasi di .env
DATABASE_URL="file:./dev.db"

Konfigurasi Autentikasi

OAuth 2.0

  1. Konfigurasi Provider
    • Google OAuth
    • GitHub OAuth
    • Microsoft OAuth
  2. Variabel Lingkungan
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    GITHUB_CLIENT_ID=your_github_client_id
    GITHUB_CLIENT_SECRET=your_github_client_secret
    

JWT

JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=7d

Konfigurasi Email

SMTP

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASS=your_app_password

Layanan Email

  • SendGrid: Untuk pengiriman massal
  • Mailgun: Untuk transaksional
  • AWS SES: Untuk skalabilitas

Konfigurasi Penyimpanan

Lokal

STORAGE_TYPE=local
STORAGE_PATH=./uploads

Cloud Storage

# AWS S3
STORAGE_TYPE=s3
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=us-east-1
AWS_BUCKET=your_bucket_name

# Google Cloud Storage
STORAGE_TYPE=gcs
GCS_PROJECT_ID=your_project_id
GCS_BUCKET=your_bucket_name

Konfigurasi Monitoring

Logs

LOG_LEVEL=info
LOG_FORMAT=json

Metrik

  • Prometheus: Untuk metrik sistem
  • Grafana: Untuk visualisasi
  • Sentry: Untuk monitoring error

Konfigurasi Keamanan

HTTPS

# Generate sertifikat SSL
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Security Headers

// Konfigurasi di Nuxt.js
export default {
  serverMiddleware: [{ path: '/api', handler: '~/server-middleware/security.js' }],
};

Konfigurasi Cache

Redis

REDIS_URL=redis://localhost:6379
REDIS_PASSWORD=your_redis_password

Konfigurasi Cache

// Konfigurasi di NestJS
import { CacheModule } from '@nestjs/cache-manager';
import { redisStore } from 'cache-manager-redis-store';

CacheModule.register({
  store: redisStore,
  host: 'localhost',
  port: 6379,
});

Konfigurasi Job Queue

Bull Queue

REDIS_URL=redis://localhost:6379
QUEUE_PREFIX=woker-job

Konfigurasi Queue

// Konfigurasi di NestJS
import { BullModule } from '@nestjs/bull';

BullModule.registerQueue({
  name: 'email',
  redis: {
    host: 'localhost',
    port: 6379,
  },
});

Verifikasi Instalasi

Test Otomatis

# Test unit
pnpm test:unit

# Test integrasi
pnpm test:integration

# Test end-to-end
pnpm test:e2e

Verifikasi Manual

  1. Verifikasi API
    curl http://localhost:3000/health
    
  2. Verifikasi Frontend
  3. Verifikasi Database
    pnpm db:test
    

Troubleshooting

Masalah Umum

Error Port Sudah Digunakan

# Temukan proses yang menggunakan port
lsof -i :3000

# Hentikan proses
kill -9 <PID>

Error Dependensi

# Bersihkan cache
pnpm store prune

# Reinstal dependensi
rm -rf node_modules
pnpm install

Error Database

# Verifikasi koneksi
pnpm db:ping

# Reset database
pnpm db:reset

Log Debug

# Lihat log real-time
pnpm logs

# Lihat log spesifik
pnpm logs:api
pnpm logs:web

Update

Update Otomatis

# Update dependensi
pnpm update

# Update aplikasi
git pull origin main
pnpm install
pnpm build

Migrasi Database

# Generate migrasi
pnpm migration:generate

# Jalankan migrasi
pnpm migration:run

# Revert migrasi
pnpm migration:revert

Dukungan

Sumber Bantuan

Kontak

Langkah Selanjutnya

  1. Konfigurasi Domain
    • Konfigurasi DNS
    • Konfigurasi SSL
    • Konfigurasi CDN
  2. Konfigurasi Monitoring
    • Konfigurasi alert
    • Konfigurasi dashboard
    • Konfigurasi backup
  3. Konfigurasi Skalabilitas
    • Konfigurasi load balancer
    • Konfigurasi auto-scaling
    • Konfigurasi microservices

Pembaruan Terakhir: Desember 2024 Versi: 1.0.0

Was this page helpful?