Aplikasi web scraper untuk mengambil artikel berita dan menyimpan ke database PostgreSQL.
Sebelum menginstall, pastikan laptop sudah terinstall:
-
Node.js (versi 16.0.0 atau lebih baru)
- Download: https://nodejs.org/
- Cek versi:
node --version
-
PostgreSQL (versi 12 atau lebih baru)
- Download: https://www.postgresql.org/download/
- Cek versi:
psql --version
-
Git (opsional, untuk clone repository)
- Download: https://git-scm.com/
Opsi A - Copy Manual:
Salin seluruh folder project ke laptop tujuan
Opsi B - Clone dari Git (jika ada repository):
git clone <repository-url>
cd speccomp-03Buka terminal/command prompt di folder project, lalu jalankan:
npm install⏳ Proses ini akan menginstall semua package yang diperlukan (puppeteer, express, pg, dll)
Buka pgAdmin atau psql, lalu jalankan:
CREATE DATABASE n8n_db;Setelah database dibuat, hubungkan ke database n8n_db, lalu jalankan:
CREATE TABLE IF NOT EXISTS rss_result (
id SERIAL PRIMARY KEY,
title VARCHAR(500) NOT NULL,
url TEXT NOT NULL,
publish_date VARCHAR(100),
content_snippet TEXT
);
CREATE INDEX IF NOT EXISTS idx_rss_result_id
ON rss_result(id DESC);💡 Atau jalankan file
setup.sqlyang sudah disediakan
Buat file .env di root folder project dengan isi:
# Server Configuration
PORT=3001
NODE_ENV=development
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=n8n_db
DB_USER=postgres
DB_PASSWORD=password_postgresql_anda
# CORS (opsional)
ALLOWED_ORIGINS=http://localhost:3001
⚠️ Penting: GantiDB_PASSWORDdengan password PostgreSQL Anda!
npm startAtau untuk development:
npm run devBuka browser dan akses:
http://localhost:3001
Jika berhasil, Anda akan melihat di terminal:
✅ Database connected successfully!
🌍 Environment: development
🚀 Server running on port 3001
- Pastikan PostgreSQL sudah berjalan
- Cek username dan password di file
.env - Pastikan database
n8n_dbsudah dibuat
Ganti PORT di file .env:
PORT=3002Install Chromium dependencies (Linux):
sudo apt-get install -y libgbm-devUntuk Windows, Puppeteer biasanya download Chromium otomatis.
speccomp-03/
├── config/ # Konfigurasi database & environment
├── controllers/ # Logic controller API
├── models/ # Model database
├── routes/ # Definisi routes API
├── services/ # Business logic & scraper
├── public/ # Static files (HTML, CSS)
├── index.js # Entry point aplikasi
├── package.json # Dependencies & scripts
├── setup.sql # Script setup database
└── .env # Environment variables (buat manual)
| Command | Deskripsi |
|---|---|
npm start |
Jalankan aplikasi |
npm run dev |
Mode development |
npm run pm2:start |
Jalankan dengan PM2 |
npm run pm2:stop |
Stop PM2 |
npm run pm2:logs |
Lihat logs PM2 |
Jika mengalami masalah, cek:
- File
API_DOCS.mduntuk dokumentasi API - File
TUTORIAL.mduntuk panduan penggunaan - File
DEPLOYMENT.mduntuk panduan deployment