https://github.com/akbaralishaikh/denti
This project is created to demonstrate Go-Lang Clean Architecture/DDD/Hexagonal Architecture, and It show the usage of popular libraries gin, gorm, zap and dig.
https://github.com/akbaralishaikh/denti
clean-architecture ddd-architecture ddd-sample dig gin-gonic go golang gorm hexagonal-architecture zap
Last synced: 20 days ago
JSON representation
This project is created to demonstrate Go-Lang Clean Architecture/DDD/Hexagonal Architecture, and It show the usage of popular libraries gin, gorm, zap and dig.
- Host: GitHub
- URL: https://github.com/akbaralishaikh/denti
- Owner: AkbaraliShaikh
- Created: 2018-12-31T17:26:08.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-01T12:19:39.000Z (almost 3 years ago)
- Last Synced: 2025-04-14T03:39:06.499Z (7 months ago)
- Topics: clean-architecture, ddd-architecture, ddd-sample, dig, gin-gonic, go, golang, gorm, hexagonal-architecture, zap
- Language: Go
- Homepage:
- Size: 1.78 MB
- Stars: 150
- Watchers: 4
- Forks: 27
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# denti-go-clean-arch
[](https://travis-ci.org/joemccann/dillinger)
This project is created to demonstrate a CleanArchitecture/DDD/HexaArchitecture for dental clinic application built with go gin api including gorm CRUD operations and more.
#Go #Go-Lang #CleanArchitecture #DDD #HexaArchitecture #GoProjectStructure #RealWorldExample #DentalClinic #denti
# Benefits :
- flexibility
- testability
### Dependencies:
- [gin](https://github.com/gin-gonic/gin) - Http Api Server
- [gorm](https://github.com/jinzhu/gorm) - Object relational mapping (database)
- [zap](https://github.com/uber-go/zap) - Logger
- [dig](https://github.com/uber-go/dig) - Dependency Injection
- [configor](https://github.com/jinzhu/configor) - Configuration Helper
- [go.uuid](https://github.com/satori/go.uuid) - UUID v4
### Project Structure:
### Run:
- $ sudo docker-compose up -d
- $ curl http://localhost:8282/api/v1/health/
### Test:
```curl --header "Content-Type: application/json" --request POST --data '{"email":"a.a.shaikh55@gmail.com","first_name":"Akbar","last_name":"Shaikh","password":"password","gender":1,"picture":"http://abc.com/user.png","phone_number":"9123456789"}' http://localhost:8282/api/v1/users/```
`curl http://localhost:8282/api/v1/users/`
##### => Repo work is in-progress, will be keep updating the code, but the basic project structure is ready with the required code to understand, have a look!
## Happy Coding!