Exemplo de arquitetura de API utilizando a linguagem Go
-
3 áreas
- admin
- client
- auth
-
Storage
- Memory
http
├── api
│ ├── admin
│ │ ├── api.go
│ │ └── user.go
│ ├── auth
│ │ ├── api.go
│ │ └── login.go
│ └── client
│ ├── api.go
│ └── user.go
├── main.go
├── middleware
│ ├── cors.go
│ ├── logger.go
│ ├── max_client.go
└── utils
└── handler.go
Description | http | path |
---|---|---|
list | GET | /api/admin/user |
get | GET | /api/admin/user/:id |
store | POST | /api/admin/user |
update | PUT | /api/admin/user/:id |
delete | DELETE | /api/admin/user/:id |
Description | http | path |
---|---|---|
list | GET | /api/user |
get | GET | /api/user/:id |
Description | http | path |
---|---|---|
admin | POST | /api/auth/admin/signin |
public | POST | /api/auth/client/signin |
Lista de todas requisições para usar com Insomnia, basta importar :) => link
- Build
make prod
- Deploy
./bin/go-api-boilerplate
- Build
make docker
- Push
make docker-push
- Deploy
docker run -it --name go-api-boilerplate \
-p 3000:3000 \
douglaszuqueto/go-api-boilerplate:latest