Fault tolerant, Self-sufficient, Customizable, Сache accelerated, TTL supported.
Service URL Shortener with clean architecture based on
Go-clean-template.
Service can create shortened URLs, return original URLs (using GRPC).Redirect to the original URL when follow the short one (using HTTP).
- Shortener usecase, Digitiser usecase, Mocks & Unit-Tests & Fuzz Testing.
- Shortener GRPC routes, Redirect HTTP & Integration-Tests.
- Postgres repository, Migrations, Redis Cache & Integration-Tests
- GRPC server, GRPC request Logger, Redis client.
# Postgres, Redis
$ make compose-up
# Run app with migrations
$ make run
Integration tests:
# DB, app + migrations, integration tests
$ make compose-up-integration-test
Visit Config before use.
GRPC endpoints described in Proto.
HTTP redirect can be used by following the short URL provided by GRPC Shortener.Create response.