Skip to content

Application developed with ReactJS, and Redux. It shows the current weather, and the next 5 days forecast of your current location or anywhere else in the world.

Notifications You must be signed in to change notification settings

Tigum/Forecaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm install

Please make sure to run npm install before running npm start. That will make sure all dependencies are installed.

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.

After running npm test press a to run all tests

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

App Details

Front End and APIs

This application was developed in ReactJS with Redux. The entire application is based on Redux Store, what makes the application light and efficient.

Two different APIs were used:
1-) Teleport Public API (https://developers.teleport.org/api/getting_started/), which was used to display the names of all possible locations in the world, get their name, and coordinates
2-) OpenWeatherMap 5 day Forecast API, which was used to fetch data about the current weather of the day, and also the forecast for the next 5 days

The application shows details about temperature, humidity, wind speed, hour by hour forecast, and also provides different degree units to be displayed ( Celsius, Kelvin, and Fahrenheit ).

Jest and Enzyme was used for testing.

The entire application is responsive.

Home Screen

The Home Screen was created with the intention of getting from the user the location desired. Once this location is defined, either by getting the user's current location or by the user manually searching for a specific location in the World, the application can provide the current weather and 5 day forecast.

Search location Screen

In the Search location Screen you can search any location in the World and discover its current weather and 5 day forecast.
In addition, the application keeps a record of the latest 20 searches performed by the user and displays it in the Search location Screen when nothing is being searched.

Forecast Screen

The Forecast Screen displays cards with the current weather (temperature, humidity, and wind speed), and the forecast for the next 5 days. Also it displays an hour by hour forecast informing the expected temperature for a given hour of the day.
In addition, you can select the degree unit you desire ( Celsius, Kelvin, or Fahrenheit )

Future improvements

Regarding future improvements, it would be interesting to add user authentication so the user experience could be improved. Also, the following could be implemented:
1-) Animations to improve user experience
2-) Maps to provide a more interactive experience to the client
3-) Latest news about the weather, either on the user's location or in the user's favorite places
4-) Adding weather information about airports and beaches would be useful as well
5-) Once the application has a reasonable amount of users, add advertisement
6-) Implement more complex tests to guarantee the good functionality of the application

About

Application developed with ReactJS, and Redux. It shows the current weather, and the next 5 days forecast of your current location or anywhere else in the world.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published