The goal of this exercise is to create a demo calendar application using React. We strongly recommend create-react-app to make the bootstrapping of your application really easy.

Please don’t use a calendar library, we would like to see your own calendar logic.

The Task

You should start by rendering a single month view of a calendar for the current month – along with the lines of the calendar image in this project.

Features & Requirements:

  • You need to use one of the following state management libraries: Relay, Apollo, MobX or Redux
  • Ability to add a new “reminder” (max 30 chars) for a user entered day and time.
  • Display reminders on the calendar view in the correct time order.
  • Allow the user to select a color when creating a reminder and display it appropriately.
  • Properly handle overflow when multiple reminders appear on the same date.
  • Ability to edit reminders – including changing text, day and time & color.
  • Ability to delete reminders.
  • Expand the calendar to support more than the current month.

Deployment link



Node 14 or more is needed. Inside the folder do and

npm install
npm start

Go to



The component is working on 1920 x 1080 and 1280 x 720 resolutions.


  • Tests with react testing library would be great (will add them today)
  • Styled components can be added to improve the styling logic
  • I18N must be added to make the text language easy to translate in the whole app. And also a good thing to split content and logic.
  • Cypress can be used to test it end two end.
  • Maybe would be good to make an integration with google calendar to store information in cloud. Or create a backend for the same purpose.


View Github