Releases: DoWithLogic/golang-clean-architecture
Releases · DoWithLogic/golang-clean-architecture
v2.0.0
🏗️ Architecture Enhancement & API Documentation
📋 What's Changed
🔄 Mapper Hierarchy Refactoring
- Moved mappers to top-level architecture following Clean Architecture principles
- Bottom layers no longer depend on top-layer types
- Improved separation of concerns and reduced coupling
📚 Swagger Documentation
- Added complete OpenAPI 2.0 specification
- Interactive API explorer available at
/swagger/
- Auto-generated docs with request/response schemas
🎯 Design Patterns
Option Pattern
// Flexible User Detail
func(r *repository) UserDetail(ctx context.Context, opts ...entities.UserDetailOption) (user entities.User, err error)
Factory Method Pattern
type UserDetailRequest interface {
ToUserDetailOption() entities.UserDetailOption
}
// Polymorphic request handling
func GetUserDetail(req UserDetailRequest) {
option := req.ToUserDetailOption()
return userService.GetDetail(option)
}
✅ Benefits
- Cleaner Dependencies: Better architecture hierarchy
- Better Documentation: Interactive API docs
- Flexible APIs: Option pattern for backward compatibility
- Extensible Code: Easy to add new request types
What's Changed
- golang clean architecture v2 by @martinyonatann in #37
Full Changelog: v0.0.9...v2.0.0
v0.0.9
What's Changed
- 🎨 : make config can't be access by usecase and make stand alone jwt package by @martinyonatann in #25
- ♿️ : add trace span on every layer application by @martinyonatann in #26
- 🎨 chore: add global package for outbound http request by @martinyonatann in #27
- 🔒️ fix sonarcloud issue by @martinyonatann in #28
- fix#31:Handle external context received by NewApp by @Nikhils-179 in #33
- fix #32 by @martinyonatann in #34
- ✨ feat: revoked token after logout with redis by @martinyonatann in #35
New Contributors
- @Nikhils-179 made their first contribution in #33
Full Changelog: v0.0.8...v0.0.9
v0.0.8
What's Changed
- chore: add graceful Shutdown and healthcheck by @martinyonatann in #21
- enhancement this repository by @martinyonatann in #23
Full Changelog: v0.0.7...v0.0.8
v0.0.7
What's Changed
- chore: tidy up code and make package imple interfaces by @martinyonatann in #20
Full Changelog: v0.0.6...v0.0.7
v0.0.6
What's Changed
- chore: add server side caching by @martinyonatann in #19
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
- chore: add cors for echo to accept required headers by @martinyonatann in #17
- chore: add docker to build apps on docker compose by @martinyonatann in #18
Full Changelog: v0.0.4...v0.0.5
v0.0.4
What's Changed
- chore: update config retrieve mechanism and sql base from sql to sqlx by @martinyonatann in #16
Full Changelog: v0.0.3...v0.0.4
v0.0.3
What's Changed
- chore: add middleware for authorization with JWT by @martinyonatann in #11
- chore: update diagram by @martinyonatann in #12
- feat: login and detail endpoint by @martinyonatann in #13
- fix: fix endpoint and unit test by @martinyonatann in #14
Full Changelog: v0.0.2...v0.0.3
v0.0.2
[bugfix] missing imported library.
Full Changelog: v0.0.1...v0.0.2
v0.0.1
What's Changed
- [feature] update user endpoint by @martinyonatann in #2
- [feature] endpoint update status user by @martinyonatann in #4
- create unit test by @martinyonatann in #6
- utils enhancement by @martinyonatann in #7
- chore: database transaction by @martinyonatann in #9
New Contributors
- @martinyonatann made their first contribution in #2
Full Changelog: https://github.com/DoWithLogic/golang-clean-architecture/commits/v0.0.1