IgorMing / calendar-challenge

Calendar code challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Calendar Challenge

The code challenge made to schedule some reminders into the calendar.

Getting started

To run the app, make sure that you have all the required tools installed here

First, clone this repository

$ git clone git@github.com:IgorMing/calendar-challenge.git

After that, let's navigate into it and install all the dependencies

$ yarn
# or
$ npm i

That's all! Now you can run the application

$ yarn start

Used Tools

Mandatory Features

  • Ability to add a new "reminder" (max 30 chars) for a user entered day and time. Also, include a city.
  • Display reminders on the calendar view in the correct time order.
  • Allow the user to select color when creating a reminder and display it appropriately.
  • Ability to edit reminders – including changing text, city, day, time and color.
  • Add a weather service call from a free API such as ​Open Weather Map​, and get the weather forecast (ex. Rain) for the date of the calendar reminder based on the city.
  • Unit test the functionality: ​Ability to add a new "reminder" (max 30 chars) for a user entered day and time. Also, include a city.

Bonus (Optional)

  • Expand the calendar to support more than the current month.
  • Properly handle overflow when multiple reminders appear on the same date.
  • Functionality to delete one or ALL the reminders for a specific day

Extra Features

  • Add an extra list on the right side showing all the scheduled reminders, sorted by Date asc
  • Save into local storage all the reminders interaction (get, add, edit, delete). So you can reload the page and still keep seeing the data

Important Notes

Important note[1]: I know the importance of automated tests to an application, but I left that implementation to the end, and I started having problems to make jest running well, so I decided to delete that for now. Just clarifying, I have experience with automated tests (unit, integration, e2e), but I enforced a lot in this challenge in the code quality, and organizing the structure, so I hope that's enough. I'm sorry!

Important note [2]: I wasn't able to implement the weather based on the filled city, because the API wasn't responding as expected. I received error 401, then, I tried to put the example request directly, which was also not succeeded (for CORS problems). I added an image below showing the error If you wish, see the corresponding URL to check possible reasons for that failure.

I hope you liked it.

Thank you!

About

Calendar code challenge


Languages

Language:JavaScript 93.0%Language:HTML 6.9%Language:CSS 0.2%