(Context: this was from a 3-hr programming challenge from a job app, from a long long time ago)
This was an interesting challenge! I feel that I was making steady progress and had a pretty clear sense of where to go next, and simply ran out of time to implement everything that I wanted to implement.
To run the app, go in your terminal to the folder containing the app and enter
'npm install'
then
'npm start'
Next items to work on:
- allow paging through the calendar
- eliminate the 'all events' view
- input validation
- refactor creating/editing events to a modal
- make sure that calendar view generates the proper view on the border of months/years (based on how new Date() works, it should, but worth checking)
- accept a wider array of user inputs for dates and times
- refactor event storage to be more performant
- reset event creating and editing upon clicking on the create button or on an event (thought it would be trivial but couldn't get it right away)
- enable events that span multiple days
- small visual upgrades: wrap long words instead of overflowing (not so important)