Skip to content

Betelgeuse-Blasters/grocre

Repository files navigation

🔵 GrocRe: An AI Powered Meal Planner 🔵

Description

GrocRe is a web application designed to help you personalize your meal planning experience. GrocRe leverages AI to provide you with recipes, nutritional facts, and a shopping list for meal preparation. Share your plans and discover new recipes through our built-in social network.

Table of Contents

Installation

Clone to local machine

git clone [email protected]:Betelgeuse-Blasters/GrocRE.git

Install node dependencies for the client

cd frontEnd
npm install

Install node dependencies for the server

cd server
npm install

Clone the env file in the server

DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"

API_KEY= OPENAI KEY HERE

Generate a Prisma instance using:

npm run generate

Roles

Kayla Loizzo - Project Manager | AI Page
Mike Gamba - Architecture | Meal Editing
Kevin Glidden - UI/UX | Meal Editing
Liam McEneaney - AI Page
Kiel Fuller - Social Page
Jung Hoan Kim - Social Page

Tech Stack

JavaScript React React Router NodeJS Express.js ESLint Postgres Prisma AWS ESLint Tailwind Axios antD Vite

Anime.js
OpenAI

Development

Our team worked in a one-week sprint to deliver a minimum viable product (MVP) for our client. We focused on agile methodology, daily standups, and continuous feedback loops for smooth collaboration.

Technical Challenges and Research

Our main challenge was integrating various technologies in our stack to create a coherent, user-friendly application. One particular challenge was making efficient OpenAI API calls to retrieve recipes and nutritional data. Rendering this information effectively on the front-end required careful planning. Tying together the backend and organizing the data in a logical manner was crucial for seamless collaboration across different components of the project.

Unexpected Challenges

Authentication posed a recurring challenge throughout development. Initially, we planned to use Auth0 for handling session and user logins. However, the steep learning curve and time constraints forced us to pivot to a custom authentication process. Another challenge was aligning coding conventions among team members, especially when building upon each other's work.

How Does the App Work?

When a user interacts with GrocRe, data is processed through our Node.js/Express server and stored in a PostgreSQL database using our ORM of choice, Prisma. This information is then relayed back to the user interface.

Research Required

We conducted research on interacting with OpenAI, optimizing tokens, and prompting. We also learned a great deal about Agile project management, which played a crucial role in our workflow.

Workflow and Key Lessons

We followed an Agile workflow, maintained a Trello board for ticketing, conducted daily standups, and periodically reviewed our code. This process taught us the importance of regular communication, efficient task delegation, and timely feedback. Details on our Git workflow are provided in a section below.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages