About The Ultimate API Project

Who is it for?

If you’re starting out in web development and want to practice your skill, or if you’re searching for web development projects ideas to add to your portfolio or maybe you’re just looking to have some fun while coding - or even all of the above? You’re very welcomed!

As to your skills - It’s really up to you to decide if you’re ready or not and how much you’ll be willing to challenge yourself. Overall I’d say it would help to have a basic knowledge of HTML, CSS and JavaScript.

Check the following articles, if it’s not completely foreign to you then let’s start!

Why APIs and why challenges?

As a web developer, sooner or later, you’ll face working with APIs and quite a LOT. Requesting, getting, updating, deleting, displaying data - all of that is most likely to be coming from an API. Personally, I find it to be one of the most essential parts in web development, especially when working as a frontend developer.

The format of a challenge was chosen in order to set the expectation that we don’t all have the answers to everything and more often than not, we are challenged by a task, a line of code or a bug and that’s just the reality of it. Bottom line - let’s normalise challenges, work our way through them and gain knowledge.

Which tech will be covered?

First - tech stack means technologies, libraries, frameworks, which are being used in a project. I’ve tried to mix as much of a diverse, yet popular tech stack when it comes to JavaScript and HTTP Clients (how we communicate with APIs) as possible, so you could dip your toes into a various pack of it.

But if you want some “name dropping” here you go: REST, GraphQl, XMLHttpRequest, XHR, fetch, Axios, jQuery, AJAX, getJSON, async, await, callback, Promise, ES6, HTML, CSS, SCSS, Bootstrap, Vue.js, React.js, vanillaJS, SuperAgent, apollo and probably some more.

How can I participate?

Glad you asked! Participation is free and you can start anywhere you want. Just go to the Challenges Page and pick one! On your end, all you need is a machine to work on (and probably an internet connection). It’s also possible to use online code editors but not for every challenge as the setup varies, so I’d recommend sticking to working on your machine. But anything is possible if you search for it :)

Before starting

Each challenge will have a dedicated public API to use (unless changed by the creators of it or mentioned otherwise), you’ll be given starter files (on Github), step guidance in the code (through comments) as well as a YouTube video where you can code the challenge along with me.

In the starter files the styling will always be included, this way you can focus mainly on the JavaScript part. However, if you feel like changing things up a bit - by all means, you’re free to alter your project to your liking :)

I’ll also aim to include a list of useful resources of docs/blogs/posts, which I see fit to assist you through the specific challenge. Basically, anything that I can think of to make this challenge easier for you will be included!

Where do I start?

Alright! Actually, anywhere you wish! Just know that the challenges are listed in an ascending order, according to their rising complexity. It is designed this way so that you will advance your skills as you go as the challenges (hopefully) become more complex to you. So if you find yourself being challenged - don’t worry, that’s the goal!

Can you review my finished challenge?

Sure! Code review is an amazing way to learn from peers and have another set of eyes and a brain looking at a code from another angle. Anyone can learn from code reviews, so definitely tag me or contact me to check it out and I’ll try to make time for it.

Of course if you have any suggestions, constructive feedback or requests, feel free to DM me through Instagram, leave a comment on a challenge's YouTube video or send me an email .

See you in the challenges! 👋

* Some Illustrations on this website are by Freepik Storyset

This website uses cookies in order to understand how it can continue bringing you value.

However, your privacy is of a high priority and should you not wish to share any data, you absolutely can