finds.dev← search

// the find

short-d/short

★ 867 · Go · MIT · updated Sep 2020

URL shortening service written in Go and React

Short is a self-hosted URL shortener written in Go with a React frontend, built as a showcase for Clean Architecture, dependency injection with Wire, and microservices patterns. It's aimed less at people who just want a link shortener and more at developers who want a worked example of DDD-flavored Go project structure with GraphQL, gRPC, and full CI/CD wired up.

The dependency injection is done properly with Wire rather than a hand-rolled container, and the package layering (entity/usecase/adapter) is consistent enough to actually study as a reference. Test strategy is unusually thorough for a side project — unit, integration, component, and contract tests are all present with real examples, not just claimed in the README. The feature toggle abstraction (IFeatureDecisionService) is a clean way to avoid scattered conditionals and is genuinely reusable.

No commits since September 2020 — this is five years stale, dependencies (Go 1.13, Node 12, React scripts of that era) will need real work to build today. Setup requires standing up reCAPTCHA, OAuth apps for three providers, and a separate kgs microservice just to run it locally, which is a lot of ceremony for a URL shortener. The README is more architecture essay than usage doc — there's no simple 'just run it and shorten a URL' path, and the promised services (Search, Status Page, Data Reporter) are flagged as 'still under active development' with no indication that changed before the project went dark.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →