Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saddamarbaa/rest-countries-app-nextjs-typescript
==> Web App that provides you information about all countries in the world build with React Js + Next Js + TypeScript + Tailwind CSS + Redux, Made with developer experience first ESLint + Prettier setup (a mobile-friendly)
https://github.com/saddamarbaa/rest-countries-app-nextjs-typescript
nextjs reactjs redux redux-thunk restful-api tailwind-css typescript
Last synced: 5 days ago
JSON representation
==> Web App that provides you information about all countries in the world build with React Js + Next Js + TypeScript + Tailwind CSS + Redux, Made with developer experience first ESLint + Prettier setup (a mobile-friendly)
- Host: GitHub
- URL: https://github.com/saddamarbaa/rest-countries-app-nextjs-typescript
- Owner: saddamarbaa
- License: mit
- Created: 2022-01-09T12:12:23.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-22T15:36:23.000Z (about 1 year ago)
- Last Synced: 2024-12-09T03:44:29.469Z (2 months ago)
- Topics: nextjs, reactjs, redux, redux-thunk, restful-api, tailwind-css, typescript
- Language: TypeScript
- Homepage: https://rest-countries-app-two.vercel.app/
- Size: 1.13 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Front-End Mentor Rest Countries API Challenge
Building Front-End Mentor Rest Countries API Challenge with React Js, Next Js, TypeScript, Tailwind CSS,
Heroicons, Vercel Hosting (a mobile-friendly) Made with developer experience first ESLint + Prettier + Lint-Staged + VSCode setup .# Table of contents
- [Author](#Author)
- [Demo](#Demo)
- [Technologies](#Technologies)
- [Optimizations](#Optimizations)
- [Contributing](#Contributing)
- [Status](#status)
- [Features](#Features)
- [Inspiration](#inspiration)
- [Related Projects](#Related_Projects)
- [Support](#Support)
- [Feedback](#Feedback)
- [Run Locally](#Run_Locally)
- [Screenshots](#Screenshots)# Author
### @Saddam Arbaa
# Technologies
- React Js
- Next Js
- TypeScript
- Tailwind CSS
- Heroicons
- Vercel Hosting# Demo
## LIVE DEMO
# Optimizations
- Next' Js Image component
- Next' Js file-system based router
- Next' Js Server-side rendering
- Memoization (useMemo, Memo)
- Advanced Debouncing (custom Hook)
- Function components
- React hooks
- React useEffect cleanup
- TypeScript# Features
- View all countries
- View individual country details
- Search for single country
- Filter countries by region
- Toggle Dark/Light Mode
- Toggle Dark/Light Mode
- Google Map with zoom Focus to the country captical city
- View on real google map link# Contributing
Contributions are always welcome!
# Related_Projects
### Front-End Mentor Rest Countries API Challenge app built with React Native + TypeScript + Expo + React Navigation
### Github Repo
### Facebook Clone App built with React Js + Next Js + TypeScript + Redux + Styled Components
### Github Repo
### LIVE DEMO
### Instagram Clone App built with React Js + Next Js + TypeScript + Redux + Tailwind CSS + Heroicons
### Github Repo
### LIVE DEMO
### Messenger Clone App built with React Js + Next Js + Redux + Styled Components + Material-UI
### Github Repo
### LIVE DEMO
### Airbnb Clone App built with React Js + Next Js + Redux + Tailwind CSS
### Github Repo
### LIVE DEMO
### Amazon Clone App built with React Js + Redux + Styled Components
### Github Repo
### LIVE DEMO
# Support
For support, email [email protected].
# Feedback
If you have any feedback, please reach out to me at [email protected]
https://twitter.com/ArbaaSaddam/Linkedin.
https://www.linkedin.com/in/saddamarbaa/Github
https://github.com/saddamarbaa
https://www.instagram.com/saddam.dev/
https://www.facebook.com/saddam.arbaa# Run_Locally
Clone the project
```bash
https://github.com/saddamarbaa/rest-countries-app-nextjs-typescript
```Go to the project directory
```bash
cd rest-countries-app-nextjs-typescript
```Install dependencies
```bash
yarn install
# or
npm install
```Start the server
```bash
npm run dev
# or
yarn dev
```ESLint + Prettier + Lint-Staged Check
```bash
yarn lint
# check-types errors
yarn check-types
# check code format
yarn check-format
# check lint errors
yarn check-lint
# format code and fix prettier erros
yarn format
# test all ESLint + Prettier + types erros
yarn test-all
# or if You're using npm you can use npm instead of yarn for all the above ESLint + Prettier + Lint-Staged Check steps
```# Status
Project is now complete in (React js + Next js + TypeScript + Tailwind CSS) so my next step I would love to converted to (React Native + TypeScript)
# Inspiration
Build By Saddam Arbaa Project inspired by [ Frontend Mentor] https://www.frontendmentor.io/challenges/rest-countries-api-with-color-theme-switcher-5cacc469fec04111f7b848ca
# Screenshots
## Responsive on large screens - Home Page
![image](https://user-images.githubusercontent.com/51326421/163710516-534c0b3e-53e4-4294-86b8-ec0f86b1298c.png)
![image](https://user-images.githubusercontent.com/51326421/163710494-a7bd623d-0392-47d6-bf23-89dca97ac6c8.png)
## Responsive on tablet screens
![image](https://user-images.githubusercontent.com/51326421/163710002-66c763d0-3d7b-417c-8f5f-cca106f111e9.png)
![image](https://user-images.githubusercontent.com/51326421/163709990-61457b33-c90e-45e7-a863-c1331aa5c9ad.png)
## Responsive on mobile screens
![image](https://user-images.githubusercontent.com/51326421/163709952-cc07c0e2-3cfd-4e53-9c6b-f03c55c8073f.png)
![image](https://user-images.githubusercontent.com/51326421/163709965-9621fe84-1bc0-4cf1-a275-89e6a9058b28.png)
## Single Country Page
![image](https://user-images.githubusercontent.com/51326421/164975596-0f0f97ab-bba3-4cee-81da-f299f761f01b.png)
![image](https://user-images.githubusercontent.com/51326421/164975626-ee755fb4-3ebe-427f-9da8-c27648162106.png)
![image](https://user-images.githubusercontent.com/51326421/164975684-db9564c8-c5f1-4af1-9557-275439627dd9.png)
## 404 Not Found Page
![image](https://user-images.githubusercontent.com/51326421/163708746-a1de272f-8c7d-4393-a422-c553f60755ca.png)
![image](https://user-images.githubusercontent.com/51326421/163708764-f5e58743-31ea-4b49-b1c8-27f102c50720.png)
![image](https://user-images.githubusercontent.com/51326421/163708804-14feeb06-6a63-471d-b8fa-9f0db5e39a93.png)
![image](https://user-images.githubusercontent.com/51326421/163708790-1c83d12b-bcd1-42e4-8937-575ba9aa8819.png)
## Search Page
![image](https://user-images.githubusercontent.com/51326421/163709205-778b90f5-82d8-4b92-9122-a4996789369c.png)
![image](https://user-images.githubusercontent.com/51326421/163709248-42c5ce8f-9d7d-4f91-bc1a-230d8368c14f.png)
## Filter countries by Region
### Filter countries by Region (America)
![image](https://user-images.githubusercontent.com/51326421/163710037-53450929-07e8-4e3c-9c5e-37815be262d4.png)
### Filter countries by Region (Africa)
![image](https://user-images.githubusercontent.com/51326421/163710107-cea352d2-102c-4253-8169-d49fde66b975.png)
### Filter countries by Region (Asia)
![image](https://user-images.githubusercontent.com/51326421/163710133-466d13f8-2c9c-4f21-81b9-802f2fd04ab6.png)
### Filter countries by Region (Europe)
![image](https://user-images.githubusercontent.com/51326421/163710184-b0a37141-76c2-4268-abb8-48d4124dd6c7.png)
### Filter countries by Region (Oceania)
![image](https://user-images.githubusercontent.com/51326421/163710230-b0981530-8cf2-48a3-b6b2-8a8537f943f4.png)
# Next.js + Tailwind CSS Example
This example shows how to use [Tailwind CSS](https://tailwindcss.com/) [(v3.0)](https://tailwindcss.com/blog/tailwindcss-v3) with Next.js. It follows the steps outlined in the official [Tailwind docs](https://tailwindcss.com/docs/guides/nextjs).
## Preview
Preview the example live on [StackBlitz](http://stackblitz.com/):
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/vercel/next.js/tree/canary/examples/with-tailwindcss)
## Deploy your own
Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example):
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-tailwindcss&project-name=with-tailwindcss&repository-name=with-tailwindcss)
## How to use
Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init) or [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) to bootstrap the example:
```bash
npx create-next-app --example with-tailwindcss with-tailwindcss-app
# or
yarn create next-app --example with-tailwindcss with-tailwindcss-app
```Deploy it to the cloud with [Vercel](https://vercel.com/new?utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)).