Simple, dynamic link shortener. Inspired by Shorti.
-
Start the server:
$ SHORTENER_API_KEY=secret bin/rails s
-
Create a shortened link:
$ curl -d "api_key=secret&url=https://www.codeforamerica.org&description=website" localhost:3000/links
Which will return a JSON object:
{ "id": 3, "slug": "NYczp", "description": "website", "url": "https://www.codeforamerica.org", "shortened_url": "http://localhost:3000/NYczp", "uses_count": 0, "first_used_at": null, "last_used_at": null, "$ref": "http://localhost:3000/links/NYczp", "uses": [] }
-
Visit the
shortened_url
to be redirected. -
Check the status of the URL:
$ curl "http://localhost:3000/links/NYczp?api_key=secret"
Which will return a JSON object:
{ "id": 3, "slug": "NYczp", "description": "website", "url": "https://www.codeforamerica.org", "shortened_url": "http://localhost:3000/NYczp", "uses_count": 1, "first_used_at": "2020-08-06T02:34:31.741Z", "last_used_at": "2020-08-06T02:34:31.741Z", "$ref": "/links/NYczp", "uses": [ { "id": 7, "link_id": 3, "created_at": "2020-08-06T02:34:31.741Z", "identity": "e6a1f38d3567af97a388b25b2dd3700c", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36" } ] }
A vanilla Ruby on Rails application.
- Must set
SHORTENER_API_KEY
environment variable.