Skip to content

Design and Background

Ariejan de Vroom edited this page Nov 4, 2015 · 1 revision

What is Fire Dragon

Fire Dragon is a fast and modern URL shortener content sharing service for personal or business use. It offers URL shortening, an API and statistics on usage.

Fire Dragon is the spiritual successor to Firefly and is a complete redesign from the original. This means there is no (designed) backward compatibility with Firefly.

What is URL shortening?

For those not aware that URL shortening is a thing: it's creating a redirect from a short URL to the original long URL. This is great for a) keeping message short on media like Twitter or in QR codes and b) keeping track of the links you share. For example:

http://bit.ly/1WusGvx => https://github.com/ariejan/firedragon

Fire Dragon will also accept other data than URLs, like text, code or images, host them and provide a short URL for sharing.

What's technically behind this?

The short code part of the short URL (1WusGvx in the example above) uses a large alphabet of characters to uniquely identify the long URL. base62 is a common way of encoding numerical values into a base-62 number using [0-9a-zA-Z] as the alphabet. With just three characters you can already store over 238k URLs.

Functional Requirements

  • Items may be URLs, text, code or images (among possible others)
  • Automatically generate the shortest possible short code
  • Allow short code to be selected by the user
  • Allow items to be grouped in a short code
  • Gathering and viewing of statistics of usage of shortened URLs
  • Easy to deploy and use for semi-technical folk
  • API to allow for custom 'own domain' URL shortening

Technical Requirements

  • Easy Install for end-users.
  • Should scale well and handle 10M+ URLs with ease
  • Golang for back-end services
  • Ember.js for fron-end services
  • Use of best practices and new technologies where possible