February is full of important dates. Several presidents have birthdays this month. We even have a day to celebrate presidents. Even one of the organizers of this group has a birthday this month. In addition there’s a few other important days to remember, especially if you are in a relationship.
We’ve changed the format of the challenges to be more like a code kata. So instead of three levels of varying difficulty there will be one challenge, and a step further, that you can make as difficult as you need based on where you want to place your focus on learning.
For this challenge we will be taking in user input and storing it for later retrieval. You’ll need to create an interface that takes in dates and the details about why that date is significant such as someone’s birthday. Allow users to enter as many dates and descriptions as they want. Store those dates and descriptions and allow the user to retrieve them. Display the dates and descriptions in order so that the soonest displays first.
Write a test case before you start your code. Then write just enough code to pass the test. Once you have passing code refactor to pass other test cases.
Going a step further create a reminder for dates entered that are within one week of today. So if someone enters Valentine’s Day then remind them that the event is in less than a week.