Skip to content

prospective/url-shortener-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

URL Shortener - Code Challenge

ℹ️
We’re using these keywords as described in RFC2119 for MUST, SHOULD and MAY.
Link

Please develop an application which fulfills the requirements described below. Push your code to your github profile (PRIVATE Repository) and invite following users to the repo.

Functional Requirements

  • ❏ An application which exposes one endpoint (MUST be a REST endpoint) to shorten a url. The backend responds with a shortened URL.

  • ❏ If the shortened URL will be called by a caller, the application performs a redirect to the registered URL.

  • ❏ The registered URL MUST be persisted to survive application restarts.

  • ❏ Each click event on the shortened URL MUST be counted and stored with the fields (timestamp, IP, user agent, referrer). Ideally an aspect (AOP) will be used to instrument the endpoint to count the clicks.

  • ❏ The application MUST provide an endpoint to retrieve the click events for a given shortened URL. The response MUST contain aggregated values (e.g. per hour or day) and SHOULD not contain the plain click events.

  • ❏ The application SHOULD NOT provide a user interface (UI). Only a REST API is required.

Non-Functional Requirements

  • ❏ MUST use Spring Boot

  • ❏ MUST use a build tool. Use a tool, you’re familiar with.

  • ❏ Required services MUST be containerized. MAY be a docker container.

  • ❏ The application itself MUST be containerized. MAY be a docker container.

  • ❏ The project SHOULD be able to start with only one command (regardless of the dev setup).

  • ❏ The business layer MUST contain minimum ONE meaningful test (the coverage is not essential).

  • ❏ A relational database MAY be used to persist the data.

Bonus (Optional)

  • ❏ A client MAY provide a TTL Information for a new URL shorten request.

  • ❏ If the TTL for a given URL is reached, the URL will be removed from the persistent storage.

About

A url shortener code challenge

Resources

Stars

Watchers

Forks