Overview
The Meet app is a serverless, cloud-native progressive web application designed to help users discover upcoming events in their city and nearby areas. Leveraging its modern serverless architecture, the app ensures high availability and seamless access, making it an ideal solution for tech enthusiasts seeking real-time updates on tech events and activities locally and globally..
Purpose & Context
The Meet app was initially developed as part of my web development course at CareerFoundry, showcasing my ability to create a full-stack, cloud-based application with comprehensive, industry-standard testing practices. Since completing the project, I have enhanced the app by refining its UI/UX and adding features that expand its functionality, enabling it to dynamically serve a broader audience beyond static, hardcoded event fetching.
Objective
The project's goal was to develop a cloud-based full-stack application that exemplifies modern web development practices, including Test-Driven Development (TDD), Behavior-Driven Development (BDD), End-to-End (E2E) testing, and Acceptance Testing. By leveraging cutting-edge technologies for cloud application development, this project aimed to demonstrate these skills in a real-world context.
Approach
Overall development Methods
To build the Meet app, I utilized modern technology stacks, including AWS Lambda functions, the Google Calendar API, the Serverless Framework, and React, to develop a scalable and efficient full-stack application. I employed robust testing methodologies such as Test-Driven Development (TDD), Behavior-Driven Development (BDD), End-to-End (E2E) testing, and Acceptance Testing to ensure the app meets high-quality standards. Key features include event filtering for streamlined searches and expandable event details to enhance the user experience.
Testing Tools
The application was rigorously tested using tools like Jest, Jest-Cucumber, Puppeteer, and React Testing Library, along with Gherkin syntax. These tools simulated app behavior to validate functionality and bridge the gap between technical and non-technical stakeholders, ensuring clarity and alignment throughout the development process.
Chanllenges
This project tested both my technical expertise and problem-solving skills, especially in understanding the integration of serverless architecture with AWS cloud infrastructure. A notable challenge arose when I accidentally deleted the generated Serverless file and discovered that simple regeneration wouldn't resolve the issue. Determined to find a solution independently, I delved into the documentation for both the Serverless Framework and AWS, ultimately rebuilding and successfully integrating the cloud infrastructure. Overcoming this obstacle not only deepened my technical knowledge but also reinforced my ability to tackle complex issues through research and persistence.
Duration
Despite facing significant challenges that delayed progress by a week, I successfully completed the project within the stipulated 4-week timeline. This experience allowed me to move beyond basic implementation, deeply engaging with the concepts and problem-solving required to build a robust, functional application.
Credits
I am deeply grateful to my tutor for their invaluable guidance and constructive feedback, and to my mentor for their supervision and final approval. I also appreciate the support and insights shared by my peers, which played a key role in overcoming challenges and refining my skills throughout this project.