24/7Recipes

Recipe Finder App

24/7 Recipes

I served as Project Manager for this project in my Processes in Object-Oriented Software course. We were given the instructions to build an application using the MERN stack. We were given the liberty to choose anything so our team brainstormed a recipe finder app called 24/7 Recipes.

The goal of 24/7 Recipes is to help users find recipes of dishes they could create in the comfort of their own homes, using the ingredients they already have in their pantry. The user simply creates an account and then they are able search recipes by name or by ingredients. Super easy!



We used a plethora of tools to help us achieve the final product. As project manager, it was my responsibility to ensure everyone knew exactly what they needed to do, and to give each person the resources to do it effectively. My goals as the project manager were to create a development environment that was open and warm, for everyone to feel personally invested in our project, and for everyone to walk away with a positive experience. We held formal weekly meetings and informal intermittent meetings as issues arose.



For project management, we used Trello for keeping track of issues and tasks. We used Github for version control. We used TeamGantt to create the Gantt chart, and we used Discord for everyday team communication.



For the front-end aspect of the project, we oscillated between a few different technologies. We implemented some React.js frameworks for the UI of our website. We also used Expo in conjunction with Node.js to test builds locally. We finally deployed our project on Heroku, after much trial and error with our package.json.



We used Atlas primarily to configure our MongoDB clusters. Database ended up being fairly straightforward so we were able to quickly pivot towards implementing our API calls with Express.js. We tested all of our API endpoints and created documentation with Swagger.io. We ended up developing a website scraper script to populate our database with around 400 unique recipes from WikiBooks.org.



Finally, we created a mobile app to work with the website application. We used React Native due to its cross-platform capabilities. Due to time constraints, we were only able to complete a fully operational Android app. We used Expo for testing along the way, and then we used Reflector 3 for showcasing our live app for our in-class presentation.



Our timeline to create this app was extremely tight, as seen in the Gantt chart below. This was due to our course being a summer course, which are traditionally shorter than Fall or Spring courses. There was also a steep learning curve for the team as we all were using powerful tools that we had little to no previous experience with.



I had an absolute blast making this with my teammates. Everyone contributed above and beyond the call of duty for this project, which included: developing a functional website application, developing an additional mobile application, and presenting all of the components of our project to our professor and our peers.

I am particularly proud of my teammates. It was an honor to work with them and to develop my software engineering skills alongside the best and brightest my school has to offer.

You can find the github repository for this project here!