Meet App - Serverless Progressive Web Application with React
Developed a serverless PWA with React that integrates the Google Calendar API to display upcoming events. Built using a test-driven development (TDD) approach, the app supports offline use, data visualization, and can be installed on any device as a home-screen shortcut
Tech Stack:
Frontend: React, JavaScript, CSS, Recharts (data visualization)
Backend & Services: Google Calendar API, OAuth2, AWS Lambda (serverless functions)
Tools & Practices: Jest & Enzyme (unit, integration, end-to-end testing), TDD methodology, Git/GitHub, GitHub Pages (deployment), Lighthouse (PWA compliance), APM tool for performance monitoring
User Stories:
As a user, I want to search for a city so I can view upcoming events in that location.
As a user, I want to show/hide event details so I can control the amount of information displayed.
As a user, I want to specify the number of events shown so I can customize my view.
As a user, I want to use the app offline so I can still access cached events without internet.
As a user, I want to add the app to my home screen for quick access.
As a user, I want to see charts and graphs that visualize event details for easier insights.
Key Features:
Event filtering by city with search suggestions.
Expandable/collapsible event details.
Offline functionality with service workers.
Installable as a PWA on desktop or mobile.
Data visualization with scatterplot and pie chart for event distribution and genre popularity.
Serverless authentication and API calls with AWS Lambda + OAuth2.
Highlights & Deliverables:
Built entirely with test-driven development (TDD), maintaining 90%+ test coverage.
Implemented unit, integration, and end-to-end testing for robust functionality.
Applied object-oriented programming (OOP) concepts in React where appropriate.
Ensured cross-browser compatibility (Chrome, Firefox, Safari, Edge, Opera, IE11).
Passed Lighthouse PWA checklist for performance, accessibility, and reliability.
Deployed on GitHub Pages for public access and portfolio integration.