This is a solution to the REST Countries API with color theme switcher challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
- See all countries from the API on the homepage
- Search for a country using an
input
field - Filter countries by region
- Click on a country to see more detailed information on a separate page
- Click through to the border countries on the detail page
- Toggle the color scheme between light and dark mode (optional)
- Solution URL: https://github.com/SyedZawwarAhmed/Rest-Countries-API
- Live Site URL:https://syedzawwarahmed.github.io/Countries-of-the-World/
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- JavaScript
While making this project, the most important thing which I learned is the fetch API which is also the foundation of this website.
One other thing which I also learned is the local storage which I used for saving the user preference for theme (light/dark).
Here is the snippet of the fetch API I used in this project
fetch("https://restcountries.eu/rest/v2/all")
.then((res) => res.json())
.then((data) => {
countries = data;
countries.forEach((country) => {
main.innerHTML += `<div class="country"><div class="flag-container"><img class="flag" src=${country.flag}></div><div class="country-details"><h2 class="country-name">${country.name}</h2><span><strong>Population: </strong>${country.population}</span><br><span><strong>Region: </strong>${country.region}</span><br><span><strong>Capital: </strong>${country.capital}</span></div></div>`;
});
});
- Stack Overflow - As always, when I got stuck, stackoverflow helped me get through.
- w3Schools - In my opinion, this is the best website for documentation with easily understandable code examples.
- Syed Zawwar Ahmed
- Frontend Mentor - @SyedZawwarAhmed
- Github - @SyedZawwarAhmed
- Linkedin - @SyedZawwarAhmed