Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted about 1 year ago

URL Shortening API || Next.js + Typescript

framer-motion, next, typescript, tailwind-css
Boots 😺•1,610
@adityaphasu
A solution to the URL shortening API landing page challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

Hey everyone! It's been a while 😊

Well, I'm most proud of the PWA support that I could implement within this next.js project. One more step towards progressive web apps!

Currently, I'm using client-side API calls but for future projects, I would like to prioritize using the API dedicated routes and creating custom route handlers to enhance performance and SEO potentially ⬆️

I also implemented a toast when the links are shortened using Sonner!

What challenges did you encounter, and how did you overcome them?

The one challenge that made it difficult for me to implement the API was the API itself. I was running into CORS policy issues and the cleanuri API documentation doesn't really specify how to configure the requests... so I tested the API using postman and it did work but the result link returned by the API is very much prone to phishing attacks. As soon as I clicked that link...my antivirus started screaming at me and I decided to see the website anyway.. yup I shouldn't have... bad decision 💀

In the end, I just opted for a different API which is actually pretty safe and public so for anyone who wants to use that instead here's the repo for it: 1pt-co

The format returned by this API is very much aligned with this specific project so it helped a lot. One less state to maintain haha

What specific areas of your project would you like help with?

I'm still learning about accessibility and I've tried to implement it for this project but I'm still not sure if I've implemented it fully so any help with that is appreciated.

While lighthouse does help with the main accessibility issues it doesn't help with core ones apparently so I'd also like to know which tools you guys use to analyze the page for major accessibility issues.

It was a good project overall and I had fun! Any Feedback or suggestions are appreciated.

P.S I used Framer motion to animate the URLs so give it a go! 🪄

Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

No feedback yet. Be the first to give feedback on Boots 😺's solution.

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit 1st-party linked stylesheets, and styles within <style> tags.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.