Clean architecture
5.1 Tiga Layer Utama

5.2 Struktur Direktori
5.3 Memisahkan Entry Points (Server vs CLI)
cmd/server/main.go β Entry Point untuk API Server
cmd/server/main.go β Entry Point untuk API Servercmd/cli/main.go β Entry Point untuk Command Line
cmd/cli/main.go β Entry Point untuk Command Line5.4 Dependency Injection dengan Interface
5.5 Implementasi Layer per Layer
Layer Data β Model (internal/model/user.go)
internal/model/user.go)Layer Data β Repository (internal/repository/user_repository.go)
internal/repository/user_repository.go)Layer Domain β Service (internal/service/users.go)
internal/service/users.go)Layer Presentation β DTO (internal/dto/user_response.go)
internal/dto/user_response.go)Layer Presentation β Handler (internal/handler/user_handler.go)
internal/handler/user_handler.go)Library Pendukung β Database (pkg/database/postgre.go)
pkg/database/postgre.go)Entry Point Server (cmd/server/main.go)
cmd/server/main.go)5.6 Menjalankan Aplikasi
Ringkasan Bab 5
Komponen
Folder
Tanggung Jawab
Last updated