This app displays events for different cities that users have selected.
It's a serverless, progressive web application (PWA) built with React using a test-driven development (TDD) technique. The application uses the Google Calendar API to fetch upcoming events.
meet-app-demo.mp4
Here is the link to the Meet App on github-pages.
USER STORY: As a user I should be able to “filter events by city”, so that I can see the list of events that take place in that city.
Given the user hasn’t searched for any city
When the user opens the app
Then the user should see a list of all upcoming events
Given the main page is open
When user starts typing in the city textbox
Then the user should see a list of cities (suggestions) that match what they’ve typed
Given the user was typing “Berlin” in the city textbox
And the list of suggested cities is showing
And the list of suggested cities is showing
When the user selects a city (e.g., “Berlin, Germany”) from the list
Then their city should be changed to that city (i.e., “Berlin, Germany”)
And the user should receive a list of upcoming events in that city
USER STORY: As a user I should be able to “show/hide an events details”, so that I can only see the list of events I need to at that moment.
Given the users hasn’t chosen an event yet
When the user opens the app
Then the user should only see event names, but not their details
Given the user has chosen an event
When the user clicks on the 'show details' button
Then the user should see details about that event
Given the user has decided to finish reading an event
When the user clicks on the ‘hide details’ button
Then the event details should disappear and only the event names are displayed
USER STORY: As a user I should be able to “automatically see a reasonable amount of events which I can choose to adjust”, so that I see the optimum number of events that leads to a satisfying user experience.
Given the user hasn't specified the number of events yet
When the user opens the app
Then the user will see 32 possible events
Given the user would like to see more/less events
When the user types a new number
Then the user should see the same number of events
USER STORY: As a user I should be able to “use the app when offline”, so that I can have maximum access to the app.
Given the user wants to use the app
When the user is offline
Then the user should be able to see cached data without internet coverage
Given the user is offline
When the user tries to change settings
Then the user should see an error message
USER STORY: As a user I should be able to “have visual representations of data (ie charts)”, so that I can get an instant impression of what’s going on.
Given the user hasn’t chosen an event
When the user is on the events page for a particular city
Then the user will see a chart with the upcoming events in that city