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
- Clone Repository
git clone https://github.com/your-org/woker-job.git cd woker-job
- Instal Dependensi
pnpm install
- Konfigurasi Variabel Lingkungan
cp .env.example .env # Edit .env dengan konfigurasi Anda
- Mulai Layanan
# Mulai backend pnpm --filter back-end dev # Di terminal lain, mulai frontend pnpm --filter web dev
- Verifikasi Instalasi
- Backend: http://localhost:3000
- Frontend: http://localhost:3001
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
- Build Aplikasi
pnpm build
- Konfigurasi Server
- Node.js 18+
- PM2 atau serupa untuk manajemen proses
- Nginx untuk reverse proxy
- 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
- Konfigurasi Provider
- Google OAuth
- GitHub OAuth
- Microsoft OAuth
- 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
- Verifikasi API
curl http://localhost:3000/health
- Verifikasi Frontend
- Buka http://localhost:3001
- Verifikasi semua halaman dimuat
- Test fungsionalitas dasar
- 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
- Email: support@example.com
- Dukungan Teknis: tech@example.com
- Komersial: sales@example.com
Langkah Selanjutnya
- Konfigurasi Domain
- Konfigurasi DNS
- Konfigurasi SSL
- Konfigurasi CDN
- Konfigurasi Monitoring
- Konfigurasi alert
- Konfigurasi dashboard
- Konfigurasi backup
- Konfigurasi Skalabilitas
- Konfigurasi load balancer
- Konfigurasi auto-scaling
- Konfigurasi microservices
Pembaruan Terakhir: Desember 2024 Versi: 1.0.0