Loading...

  • HTML
  • CSS
  • JS
  • API

URL shortening API landing page

Intermediate
Sketch app logo

Download Sketch File

JPEG designs are included in the free download, but you can buy the original Sketch file for this challenge here. The download includes desktop and mobile design, as well as a design for active/hover states (if part of the challenge).

Challenge

Brief

Your challenge is to integrate with the rel.ink API to create shortened URLs and display them like in the designs.

You can use any JavaScript framework/library on the front-end such as React or Vue. You also have complete control over which packages you use to do things like make HTTP requests or style your project.

Your users should be able to:

  • View the optimal layout for the site depending on their device's screen size
  • Shorten any valid URL
  • See a list of their shortened links, even after refreshing the browser
  • Copy the shortened link to their clipboard in a single click
  • Receive an error message when the form is submitted if:
    • The input field is empty

Download the starter code and go through the README.md file. This will provide further details about the project. The style-guide.md file is where you'll find colors, fonts, etc.

Want some support on the challenge? Join our Slack community and ask questions in the help channel.

Getting started

  1. Download the starter code
  2. Choose a JS framework/library and create your project

  3. Set up the project with version control (e.g. Git)

  4. Read the README.md file and have a look around the starter files

  5. Get colors, fonts etc from the style-guide.md file

  6. Set up your project/file architecture however you like

  7. Start coding!

Ideas to test yourself

  • Write your styles using a pre-processor, such as Sass, Less, Stylus or use a CSS-in-JS solution, like Styled Components

  • Use Flexbox and Grid for layout

  • Practice working in a team by building with friends

Slack logo

Join our Slack community

Join over 2,000 people taking the challenges, talking about their code, helping each other, and chatting about all things front-end!