The Gateway can be deployed as a with docker-compose
, and the JWT authentication can be modified adding custom claims etc. The backend is a simple go app, modifiable too.
The project structure is:
.
├── cmd
│ └── main.go
├── config.yaml
├── Dockerfile
├── Dockerfile.backend
├── docker-compose.yml
├── go.mod
├── go.sum
├── internal
│ ├── auth
│ │ └── auth.go
│ ├── cache
│ │ ├── cache.go
│ │ └── middleware.go
│ ├── logging
│ │ └── logger.go
│ ├── proxy
│ │ └── proxy.go
│ ├── ratelimit
│ │ ├── middleware.go
│ │ └── ratelimiter.go
│ └── routes
│ ├── handlers.go
│ └── router.go
├── pkg
│ ├── middleware
│ │ ├── cors.go
│ │ └── recovery.go
│ └── utils
│ ├── http.go
│ └── json.go
├── backend
│ └── backend.go
├── gen_token.go
├── loadtest.sh
├── README.md
└── test
└── integration
├── auth_test.go