From 8d87bdc6d4c52c6c51f23ad077540d923bebe4bd Mon Sep 17 00:00:00 2001 From: bagas Date: Thu, 26 Feb 2026 09:39:29 +0700 Subject: [PATCH] add Readme --- README.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..44b5c9f --- /dev/null +++ b/README.md @@ -0,0 +1,85 @@ +# Ristek Task Backend + +> **📄 Catatan Deployment:** Cara deployment menggunakan **Docker Compose** sudah disertakan di dalam **submisi PDF**. + +--- + +## Prasyarat + +Pastikan sudah terinstall: + +- [Go 1.26+](https://go.dev/dl/) (disarankan memakai versi latest) +- [PostgreSQL](https://www.postgresql.org/download/) (berjalan secara lokal atau remote) + +--- + +## Cara Menjalankan Secara Lokal + +### 1. Clone Repository + +```bash +git clone https://github.com/fossyy/ristek-task-be +cd ristek-task-be +``` + +### 2. Buat Database PostgreSQL + +Buat database baru di PostgreSQL kamu: + +```sql +CREATE DATABASE ristek; +``` + +### 3. Konfigurasi Environment + +Buat file `.env` di root project: + +```env +DATABASE_URL=postgresql://:@localhost:5432/?sslmode=disable +PORT=8080 +``` + +Contoh: + +```env +DATABASE_URL=postgresql://postgres:password@localhost:5432/ristek?sslmode=disable +PORT=8080 +``` + +> **Catatan:** Variabel `ADDRESS` bersifat opsional (default: `0.0.0.0`). + +### 4. Install Dependencies + +```bash +go mod tidy +``` + +### 5. Jalankan Aplikasi + +```bash +go run main.go +``` + +Aplikasi akan berjalan di `http://localhost:8080`. + +> **Migrasi otomatis:** Saat aplikasi pertama kali dijalankan, skema database akan dibuat secara otomatis menggunakan `golang-migrate`. Tidak perlu menjalankan migrasi secara manual. + +--- + +## Dokumentasi API (Swagger) + +Setelah aplikasi berjalan, buka browser dan akses: + +``` +http://localhost:8080/swagger/index.html +``` + +--- + +## Environment Variables + +| Variable | Wajib | Default | Keterangan | +|----------------|-------|-------------|---------------------------------------| +| `DATABASE_URL` | ✅ | — | PostgreSQL connection string | +| `PORT` | ❌ | `8080` | Port HTTP server | +| `ADDRESS` | ❌ | `0.0.0.0` | Bind address HTTP server |