- GRPC Gateway - gRPC Gateway
- GRPC - gRPC
- Protobuf - Protobuf
- Wire - Automated Initialization in Go
- SQLC - A SQL Compiler
- Go-redis - Redis client for Golang
- Zap - Logger
- Docker - Docker
- Docer Compose - Docker Compose
- Helm - Helm
- k8s - k8s
- GitHub Actions - GitHub Actions (for lint and unit tests)
- Postman Collection - Postman Collection (third_party/PostmanCollection)
- OpenAPI - OpenAPI (third_party/OpenAPI)
- Excalidraw - Excalidraw for diagrams
make docker-up // run all containers with application
The service is available at http://localhost:5555/v1/api. You can check it using Postman by importing the collection
located at third_party/PostmanCollection/Notes.postman_collection.json
.
make docker-down // stop containers
To import a collection into Postman, you should use the Import
button in the top-left corner of the Postman window.
Before running the tests, it's necessary to set the required environment variables:
baseUrl
: the address of the server where the project is running.
Example: http://localhost:5555/v1/api
To run the tests in Postman, you should select the collection (Notes -> Tests
), and then click the
button (Run folder -> Run Notes
).
The passed tests will appear as follows:
make test-run // run unit tests
To deploy the project in Kubernetes (k8s), Helm is used.
cd .charts/go-notes/proxy && \
helm dependency update && \
helm install -f values.yaml go-notes .
Take the generated file {{service}}.swagger.json
from the third_party/OpenAPI
directory.
Paste it into the Swagger Editor.