These small utilities services are quite helpful in reducing noise when sharing links. You can input a very long URL address and it can output a much shorter version of it much easier to share around.
setup envs
go 1.17
redis 3.2
how it works
storage layer
short link generator
using SHA256 to hash the initial inputs
using BASE58 binary to text encoding
forwarding
get the creation request body, parse it and extract the initial long url and userId
generate our shortened hash using shortener.GenerateShortLink()
store the mapping of output hash/shortUrl with the initial long url using store.SaveUrlMapping()