Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend — Maulana Laundry API

Go Fiber v2 REST API dengan GORM + Neon PostgreSQL.

Tech Stack

Technology Version Purpose
Go 1.26+ Language
Fiber v2 v2.52+ HTTP Framework
GORM v1.25+ ORM
PostgreSQL (Neon Cloud) Database
JWT v5 Authentication
Bcrypt - Password Hashing

Setup

# 1. Copy environment file
cp .env.example .env

# 2. Edit .env dengan kredensial database dan JWT secret
# 3. Jalankan server
go run ./cmd/main.go

Server berjalan di http://localhost:8090

Environment Variables

Variable Required Deskripsi
SERVER_PORT Port server (default: 8090)
DB_HOST PostgreSQL host
DB_PORT PostgreSQL port (5432)
DB_USER Database user
DB_PASSWORD Database password
DB_NAME Database name
DB_SSLMODE SSL mode (require/disable)
JWT_SECRET JWT signing key
JWT_EXPIRY_HOURS Token expiry (default: 24)
ALLOWED_ORIGINS CORS allowed origins

Architecture

backend/
├── cmd/main.go        # Entry point — setup Fiber + routes + DB
├── config/            # Environment config loader
├── database/          # DB connection + AutoMigrate + Seeder
├── handlers/
│   ├── auth.go        # Login, ChangePassword
│   └── user.go        # User CRUD + archive/restore
├── middleware/
│   └── auth.go        # JWT Bearer token validation
├── models/
│   ├── user.go        # User model (GORM + soft delete)
│   ├── service.go     # Service model
│   └── transaction.go # Transaction model
├── routes/
│   └── routes.go      # Route registration
└── utils/
    ├── hash.go        # Bcrypt helpers
    └── jwt.go         # JWT generator/validator

API Endpoints

Method Path Auth Deskripsi
GET /health Health check
POST /api/auth/login Login → JWT
POST /api/auth/change-password Ganti password
GET /api/users List users (paginated)
POST /api/users Buat user
GET /api/users/:id Detail user
PUT /api/users/:id Update user
DELETE /api/users/:id Archive user
POST /api/users/:id/restore Restore user
DELETE /api/users/:id/permanent Hapus permanen

Dokumentasi lengkap: ../docs/API.md

Deployment

Menggunakan Docker multi-stage build:

docker build -t laundry-backend .
docker run -p 8090:8090 --env-file .env laundry-backend

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages