Account Service adalah sebuah microservice tangguh yang menangani autentikasi dan manajemen pengguna, dibangun menggunakan Golang dengan standar Clean Architecture.
🎨 Proyek ini dibangun dengan semangat Vibe Coding menggunakan Antigravity (Powerful AI Coding Assistant).
- Authentication: Registrasi dan Login menggunakan JWT (Access & Refresh Token).
- Profile Management: Mendapatkan informasi user yang sedang login.
- Security Middleware:
- Signature Validation: Verifikasi integritas setiap request menggunakan HMAC-SHA256.
- Header Validation: Pengecekan wajib untuk
x-signature,x-datetime, danx-channel.
- Database: PostgreSQL dengan abstraksi GORM.
- Clean Architecture: Pemisahan layer yang jelas antara Handler, Service, Repository, dan DTO.
- Robust Testing: Cakupan unit test mencapai >87% pada package inti.
- Core: Go (Golang)
- Framework: Echo v5
- ORM: GORM
- Database: PostgreSQL
- Testing: Testify, Go-Sqlmock
- Security: JWT, HMAC-SHA256
Pastikan Anda sudah menginstal:
- Go 1.22+
- PostgreSQL
- Make
Salin .env dan sesuaikan nilainya:
cp .env.example .env # Jika ada, atau buat baru sesuai spesifikasiPastikan API_KEY, API_SECRET, dan CHANNEL_ID sudah diset untuk keamanan signature.
Gunakan Makefile untuk mempermudah eksekusi:
# Menjalankan database migration
make migrate
# Menjalankan aplikasi
make runKami menjaga kualitas kode dengan pengujian yang ketat.
# Menjalankan semua unit test
make test
# Mendapatkan laporan coverage (Layar: Handler, Repo, Service, Utils)
make test-coverage
# Melihat laporan coverage visual (HTML)
make coverage-htmlSetiap request wajib menyertakan:
x-signature:HMAC-SHA256(apiKey + unixTimestamp, apiSecret)x-datetime: Unix Timestamp (detik)x-channel: Identitas Channel (misal: "WEB")
Contoh logic generasinya dapat dilihat di index.md.
Dibuat dengan ❤️ melalui Vibe Coding bersama Antigravity.
Copyright © 2026 codebayu. All rights reserved.