Skip to content

Designing a URL shortening service like tinyurl (System design interview example for elixir lang)

Notifications You must be signed in to change notification settings

daniikpando/url-shortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UrlShortener

To start your Phoenix server:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
  • Install Node.js dependencies with npm install inside the assets directory
  • Start Phoenix endpoint with mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more

TODO LIST

  • Update dependencies.
  • Add phoenix authentication.
  • Add tailwind, esbuild and alpineJS.
  • Add cache with nebulex.
  • Add telemetry metrics.
  • Fix test.
  • Implement multiple hash algorithms like bloom filter, CRC32, MD5, SHA-1, Base62 using bloom filter techique to search efficiently to avoid the hash colissions.
  • Hash of short url should have only up to 7 characters.
  • Implement distributed cache to improve the performance of the hash algorithm.
  • Implement distributed unique ID generator for Base62 hash algorithm generator.
  • Implement rate limiter techique to improve the security of application.

About

Designing a URL shortening service like tinyurl (System design interview example for elixir lang)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published