The Odin Project : Full Stack JS - JAVASCRIPT Course
The Weather App is a mobile application developed using React Native and TypeScript. It displays weather information for a specific location using data fetched from the WeatherAPI API. The app utilizes jotai for state management and axios for making HTTP requests. The weather icons used in the app are from Google Icons.
The project uses the following technologies:
- React Native
- TypeScript
- jotai
- axios
- WeatherAPI API
- User can enter a location to fetch weather information
- Weather data includes temperature, weather condition, wind speed, humidity, etc.
- Weather data includes 3 days forecast.
- Weather data includes 48h forecast.
- Convert unit conversion funtion
- App displays weather icons from WeatherAPI to represent different weather conditions
- App displays weather icons from Google Icons to represent different weather conditions
- Error handling for failed API requests or invalid input
- Landscape version
To run this app locally, follow these steps:
- Clone this repository to your local machine:
https://github.com/lolikana/odin-weather_app.git
- Install dependencies:
cd <your-repo-name>
npm install
- Create
.env
file in the root of folder ./:
BASE_URL="http://api.weatherapi.com/v1"
WEATHER_KEY="<YOUR_API_KEY>"
- Start the development server:
npm run start
- Follow the instructions to run the app on your mobile device or emulator.
APIs The project uses the following API:
WeatherAPI - Provides weather data for locations based on geographic coordinates or city names. Note: To use the WeatherAPI, you will need to sign up for an API key and replace the placeholder in the code with your actual API key.
This project is licensed under the MIT License - see the LICENSE file for details.
- This app was built as part of The Odin Project's JavaScript curriculum.
- Special thanks to WeatherAPI for providing the weather data API.
- Weather icons used in this project are from Google Icons.
- jotai was used for state management.
- axios was used for making HTTP requests.