A calendar app integrating local weather and facts of the day.
Table of Contents
While looking for a project I could work on that would integrate a few different API's and would be dependent on application state, I started thinking about everyday tools. Building a calendar application seemed like a great opportunity to experiment with Redux and managing asynchronous flow.
- Geo-Location - Used for requesting weather report. Location is requested initially but can be searched for and updated.
- Weather Forecast - A five day forecast is provided with temperatures and logos.
- On This Day Facts - A random fact is displayed for the selected day. Randomly selected facts from a hefty API response are stored by Redux.
- Changeable Theme - The color scheme is changeable. Why stop at light/dark modes?
-
React - The Framework
-
Redux - State Management Library
-
Redux-Saga - Redux Asynchronous Flow Management
-
Yarn - Package Manager
- yarn
npm install --global yarn
Follow these instructions to get a dev environment up and running.
- Clone the repo
git clone https://github.com/jjh5166/react_calendar.git
- Install yarn packages
yarn
- Get free API keys for:
- Set environment variables in file named .env at root
- REACT_APP_LOCATION_KEY - LocationIQ API key
- REACT_APP_WEATHER_API_KEY - OpenWeather API key
- REACT_APP_CORS_PROXY - Address to a CORS proxy server You can fork this repo and deploy your own
- Start development environment
$ yarn start
John Hartnett - jjh5166@gmail.com
Project Link: https://github.com/jjh5166/react_calendar
This project is licensed under the MIT License - see the LICENSE.md file for details