A simple url shortener
To bootstrap the environment, run
./scripts/bootstrap.sh
Elm
Elixir
A process which stores the shortened urls with their full versions.
API:
- Save shortened url (short, full)
- List urls ()
- Delete shortened url (short)
- Get full url (short)
A module which generates a unique ID for short url each time it's asked.
API:
- next ID: (previous ID)
A Plug Process which handles the CRUD HTTP requests and maps them to controller functions.
A module with http api implementations, delegating to ID Generator and Store.
- GET /urls : list all the urls in the store
- POST /urls : shorten a new url
- GET /urls/{url-id} : get shortened url data
- DELETE /urls/{url-id} : remove shortened url
- GET /{short-url} : redirect to full version
None yet