To build a serverless, progressive web application (PWA) with React using a test-driven development (TDD) technique that shows events in various cities. The application uses the Google Calendar API to fetch upcoming events.
As a user, I should be able to click a button So that an events details can be shown/hidden
Given the user has opened the app
When nothing is selected
Then the event element remains collapsed
Given the user has selected an event
When the expand button is clicked
Then the event details will be shown
Given the user has finished looking at the event details
When the collapse button is clicked
Then the event details will be hidden
As a user, I should be able to specify the number of events So that I can determine the amount of events displayed on screen
Given the user has opened the app
When the number of events is not specified
Then the default number of events will be displayed
Given the list of elements has been loaded and the user did not specify a number of events he wants to see
When the user specified a number Then the maximum of events listed should be the specified number
As a user, I should be able to use the app offline So that if there is limited internet access, access to the app is not disrupted
Given the user has limited internet access
When the app is accessed
Then the cached data is still available
Given the user has limited internet access
When the settings are changed
Then an error will display
As a user, I should be able to see data So that it is easier to see what events are taking place in a selected city
Given the user has selected a city
When the events are displayed
Then a chart with the number of events in the selected city will display
-
The app must be a React application.
-
The app must be built using the TDD technique.
-
The app must use the Google Calendar API and OAuth2 authentication flow.