❱ 🐇 URL shortener service is written in Scala using Akka-Http and Redis ❰
Alternatives To Reducio
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Golang Url Shortener237
3 years agoApril 21, 202214mitGo
URL Shortener written in Golang using Bolt DB or Redis. Provides features such as Deletion, Expiration, OAuth and is of course Dockerizable.
5 months ago6mitGo
Your Own URL Shortener
6 months ago14May 04, 2021mitGo
Golang URL shortener and bookmarker service with UI, API, Cache, Hits Counter and forwarder using postgres and redis in backend, bulma in frontend
2 years agomitJavaScript
A file uploader + URL shortner written in node for your private cloud
6 years agoApril 06, 20121mitHTML
a url shortener made using go and redis
10 years agoMay 30, 20211Go
A URL shortener in Go with Redis as the backend
7 years agomitRuby
ready to go heroku hosted URL shortener based on guillotine
2 months ago84unlicenseScala
❱ 🐇 URL shortener service is written in Scala using Akka-Http and Redis ❰
8 months ago2mitElixir
URL shortener for
9 years agoMay 22, 2021bsd-3-clauseGo
A simple URL shortener written in Go programming language.
Alternatives To Reducio
Select To Compare

Alternative Project Comparisons

❱ ❰

URL shortener service

Build Status Coverage Status

Tech stack

Alternative solutions

We could use following short code gen also:

substr(base62(md5(url)), 6) = 62 ^ 6 //unique short urls



Run docker-compose, it will start api, redis and will expose api port to host.

docker-compose up

Sample usage

# Shorten
curl -i http://localhost:9001 -F "url="

# Call shortened url
for ((i=1;i<=100;i++)); do curl -i "http://localhost:9001/SEwuXHhBQw"; done

# Get Stats
curl -i "http://localhost:9001/stats/?url="

# returns: {"callCount":100}

Create executable

sbt packageBin


sbt test

Gatling Simulation

Simulation users count can be set in application.conf in test resources.

# terminal 1
sbt run

# Run simulation in terminal 2
sbt gatling:test gatling:latestReport

Coverage with Report

sbt clean coverage test coverageReport


  • Seperate read and write API's
  • Move statistics to different data store and API
  • Add DB support by having write master/replicas and have read replicas
  • Move hit counts to MapReduce job and generate them from the Web Server logs
  • Implement Authentication using JWT authentication protocol with OAuth2 authentication framework
  • API Documentation using swagger or similar
  • Add Host denyList
  • Add Retry policies for Redis calls using Retry or similar one
  • Add Throttling using akka-http-contrib
  • Add Metrics support using akka-http-metrics

z i λ a s a l.

Popular Redis Projects
Popular Url Shortener Projects
Popular Data Storage Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Url Shortener
Akka Http