An open API service indexing awesome lists of open source software.

https://github.com/manishdevelops/restcountries-api-with-theme-switcher

Discover the world with this comprehensive web app, offering detailed information about every country on the globe
https://github.com/manishdevelops/restcountries-api-with-theme-switcher

html javascript mvc-architecture responsive-web-design rest-api scss scss-mixins

Last synced: about 2 months ago
JSON representation

Discover the world with this comprehensive web app, offering detailed information about every country on the globe

Awesome Lists containing this project

README

          

# Frontend Mentor - REST Countries API with color theme switcher solution

This is a solution to the [REST Countries API with color theme switcher challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/rest-countries-api-with-color-theme-switcher-5cacc469fec04111f7b848ca).

## Table of contents

- [Overview](#overview)
- [The challenge](#the-challenge)
- [Screenshot](#screenshot)
- [Links](#links)
- [My process](#my-process)
- [Built with](#built-with)
- [Dependencies](#dependencies)
- [Continued development](#continued-development)
- [Author](#author)

## Overview

### The challenge

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)_

### Screenshot

![](./src/assets/design/desktop-design-home-dark.jpg)
![](./src/assets/design/desktop-design-home-light.jpg)
![](./src/assets/design/mobile-design-detail-dark.jpg)
![](./src/assets/design/mobile-design-home-dark.jpg)

### Links

- Solution URL: [solution URL here](https://github.com/Manish-d-art/restCountries-api-with-theme-switcher)
- Live Site URL: [live site URL here](https://rest-countries-api-mkm-web.netlify.app)

## My process

### Built with

- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Flexbox
- Mobile-first workflow
- MVC architecture
- ES6 Modules
- ES6 Classes

### Dependencies

- core-js
- regenerator-runtime
- transformer-sass
- parcel

### Running locally

From the repo:

- Fork the repo
- Clone it via comman `git clone `
- cd ``
- Type `npm i` in your bash/command line
- Type `npm run build` in your bash/command line for production
- Type `npm start` to start your local development server

### What I learned

I got lot of confident in **MVC architecture** also, I am now much confortable with ES6 modules and classes. Abstracted each function into a module. Further, I want to co-relate MVC architecture with React library.

## Author

- Frontend Mentor - [@Manish-d-art](https://www.frontendmentor.io/profile/Manish-d-art)
- Twitter - [@manishmandal77](https://twitter.com/manishmandal77)