This project is a React application that allows users to view country information and weather data. It utilizes the REST Countries API to fetch country details, an Open Weather Map API to display current weather conditions and unsplash API to get country capital images. Firebase is used for user authentication and data storage, enabling users to create accounts, log in, and store their preferences, including favorite countries.
- User Authentication: Sign up and log in using Firebase Authentication.
- Country Information: View details about countries using the REST Countries API.
- Weather Data: Access current weather conditions based on selected countries using an Open Weather Map API.
- Country Capital Images: Get country capital images using unsplash API.
- Favorites Management: Users can add countries to their favorites and can remove them as well.
- Redux for State Management: Manages application state seamlessly across components.
- Firebase for Data Storage: Stores user data and preferences in Firebase Firestore.
- React
- Redux
- REST Countries API
- OpenWeatherMap API
- Unsplash API
- Firebase (Authentication and Firestore)
- Axios for API calls
- Node.js
- npm
-
Clone the repository:
git clone https://github.com/bishnu-suyel/Countries_API
-
Navigate to the project directory:
cd Countries_API
-
Install dependencies:
npm install
-
To start development server:
npm run dev
- Create a new Firebase project at Firebase Console.
- Enable Email/Password authentication in the Authentication section.
- Create a Firestore database and set up rules for read/write access.
- Configure Firebase in your project.
Live page can be access here: https://effervescent-pasca-6dd20f.netlify.app/
Here are some screenshots of the application:
Register Page | Home Page |
---|---|
Countries Page | Single Country Page |
---|---|