upload images scarlet-violet (bagian 3)

This commit is contained in:
2026-07-30 10:59:10 +07:00
parent f38ca3fc44
commit 15149bade5
989 changed files with 49331 additions and 18 deletions

View File

@@ -44,8 +44,11 @@ cardverse/
│ ├── images/
│ │ ├── avatars/ # Foto profil user
│ │ ├── series/ # Banner/gambar Series
│ │ ├── sets/ # Logo/gambar Expansion Set
│ │ ── elements/ # Ikon elemen kartu (Grass, Fire, Water, dst)
│ │ ├── elements/ # Ikon elemen kartu (Grass, Fire, Water, dst)
│ │ ── evolusi-mega/ # Gambar kartu seri Evolusi Mega
│ │ ├── matahari-bulan/ # Gambar kartu seri Matahari & Bulan
│ │ ├── pedang-perisai/ # Gambar kartu seri Pedang & Perisai
│ │ └── scarlet-violet/ # Gambar kartu seri Scarlet & Violet
├── .env.example
├── CONVENTION.md # Aturan penulisan kode & standar proyek
├── Makefile # Command shortcuts (dev, test, build, seed)
@@ -69,10 +72,11 @@ go mod tidy
### 3. Setup Environment Variables
```bash
cp .env.example .env
# Sesuaikan kredensial PostgreSQL, JWT Secret, dan GOOGLE_CLIENT_ID di file .env
# Sesuaikan kredensial PostgreSQL (DB_NAME=cardverse), JWT Secret, dan GOOGLE_CLIENT_ID di file .env
```
### 4. Buat Database PostgreSQL
Buat database PostgreSQL baru dengan nama **`cardverse`**:
```bash
psql -U postgres -c "CREATE DATABASE cardverse;"
```
@@ -96,17 +100,23 @@ Server akan berjalan di `http://localhost:8080`.
## 🛠️ Daftar Endpoint API
### Server Health Check (`/health`)
| Method | Endpoint | Auth | Deskripsi |
| ------ | --------- | :-------: | --------------------------- |
| GET | `/health` | ❌ Public | Cek status kesehatan server |
### 1. Authentication Module (`/api/v1/auth`)
| Method | Endpoint | Auth | Deskripsi |
| ------ | ------------------------------- | :---------: | ----------------------------------------------------------- |
| POST | `/api/v1/auth/register` | ❌ Public | Registrasi akun baru (Kirim email konfirmasi) |
| POST | `/api/v1/auth/register` | ❌ Public | Registrasi akun baru (Kirim email konfirmasi) |
| POST | `/api/v1/auth/login` | ❌ Public | Login via email & password (mengembalikan Access & Refresh) |
| POST | `/api/v1/auth/google` | ❌ Public | Login / Auto-Register via Google OAuth (ID Token) |
| POST | `/api/v1/auth/refresh-token` | ❌ Public | Minta Access Token baru & rotate Refresh Token |
| POST | `/api/v1/auth/logout` | ❌ Public | Logout & mencabut Refresh Token |
| GET | `/api/v1/auth/verify-email` | ❌ Public | Verifikasi email user via token |
| POST | `/api/v1/auth/forgot-password` | ❌ Public | Minta token reset password |
| POST | `/api/v1/auth/verify-email` | ❌ Public | Verifikasi email user via token OTP |
| POST | `/api/v1/auth/forgot-password` | ❌ Public | Minta token/OTP reset password |
| POST | `/api/v1/auth/reset-password` | ❌ Public | Reset password akun |
### 2. User Module (`/api/v1/users`)
@@ -124,24 +134,30 @@ Server akan berjalan di `http://localhost:8080`.
| PUT | `/api/v1/users/:id/unsuspend`| 🔒 Admin/Superadmin | Cabut suspensi akun user |
| DELETE | `/api/v1/users/:id` | 🔒 Admin/Superadmin | Hapus user |
### 3. Series & Set Master Module (`/api/v1/series`, `/api/v1/sets`)
### 3. Series & Set Master Module (`/api/v1/series`, `/api/v1/sets`, `/api/v1/series-set-masters`)
| Method | Endpoint | Auth | Deskripsi |
| ------ | ------------------------------- | :-------------------: | ----------------------------------------------------- |
| GET | `/api/v1/series` | ❌ Public | Get semua Series TCG |
| PUT | `/api/v1/series/:id` | 🔒 Admin/Superadmin | Update nama Series & upload file gambar (`.webp`) |
| POST | `/api/v1/series` | 🔒 Admin/Superadmin | Buat Series TCG baru |
| PUT | `/api/v1/series/:id` | 🔒 Admin/Superadmin | Update Series TCG & gambar |
| GET | `/api/v1/sets` | ❌ Public | Get semua Expansion Set (Filter by search/parent_id) |
| GET | `/api/v1/sets/code/:code` | ❌ Public | Get detail Set berdasarkan `set_code` (misal `M-P`) |
| PUT | `/api/v1/sets/:id` | 🔒 Admin/Superadmin | Update Expansion Set & upload logo/gambar |
| POST | `/api/v1/sets` | 🔒 Admin/Superadmin | Buat Expansion Set baru |
| PUT | `/api/v1/sets/:id` | 🔒 Admin/Superadmin | Update Expansion Set & gambar |
| GET | `/api/v1/series-set-masters/:id`| ❌ Public | Get detail Series/Set Master berdasarkan ID |
| DELETE | `/api/v1/series-set-masters/:id`| 🔒 Admin/Superadmin | Hapus Series/Set Master berdasarkan ID |
### 4. Card Master Module (`/api/v1/cards`)
| Method | Endpoint | Auth | Deskripsi |
| ------ | ---------------------- | :-------------------: | ----------------------------------------------------- |
| GET | `/api/v1/cards` | ❌ Public | Get daftar kartu TCG (Paginasi, Filter & Search) |
| GET | `/api/v1/cards/:id` | ❌ Public | Get detail kartu TCG berdasarkan ID |
| PUT | `/api/v1/cards/:id` | 🔒 Admin/Superadmin | Update data kartu master |
| Method | Endpoint | Auth | Deskripsi |
| ------ | ----------------------- | :-------------------: | ----------------------------------------------------- |
| GET | `/api/v1/cards` | ❌ Public | Get daftar kartu TCG (Paginasi, Filter & Search) |
| GET | `/api/v1/cards/elements`| ❌ Public | Get daftar tipe elemen kartu (Fire, Water, Grass, dll)|
| GET | `/api/v1/cards/:id` | ❌ Public | Get detail kartu TCG berdasarkan ID |
| POST | `/api/v1/cards` | 🔒 Admin/Superadmin | Buat data kartu master baru |
| PUT | `/api/v1/cards/:id` | 🔒 Admin/Superadmin | Update data kartu master |
| DELETE | `/api/v1/cards/:id` | 🔒 Admin/Superadmin | Hapus data kartu master |
---