GreenGrub helps users make smarter food choices by combining nutrition tracking and environmental impact in one app.
- Empower users to eat healthier and reduce their carbon footprint
- Simplify decisions by scanning barcodes for instant product info
- Combine insights on both nutrition and emissions in one platform
- Allow comparison between food items based on health and sustainability
- Offer flexibility to prioritize what matters most (health vs. planet)
- Most apps focus on either health or climate—GreenGrub does both
- Goes beyond saying "healthy" or "not healthy" to give a more well-rounded analysis
- Uses ingredient order to estimate relative environmental impact
- React Native for app development
- SpringBoot for backend
- Nutrition APIs + custom/third-party emissions database such as FatSecret
- User Login: User can log into app via setting a username and password
- Scanning Barcodes: Can scan the barcodes of foods and add them to the list of foods that the user wants information of
- Selective Listing: Can choose to remove any unwanted/old scanned foods on the list; gives the user the option to update the list however they want
- Climate Information: User can obtain climate impact information regarding the foods they scanned and have on their list
- Navigation: Can navigate from login page to scanning page to Foods Listed page to Food information fluidly
- Emissions data for processed foods is hard to calculate
- Solution: Use relative scoring based on key ingredients instead of exact carbon values. Over time we can modify the algorithm to be more accurate
Make sure you have the following installed on your machine:
-
Clone the repository
git clone https://github.com/SamGanYX/GreenGrub cd greengrub -
Backend Setup
cd backend # Create .bashrc file with your secret keys (not included in repo) # For Mac/Linux: source .bashrc # For Windows: use Git Bash
-
Install Dependencies
Backend (from backend folder):
mvn clean install
Frontend (from frontend folder):
npm install
Start Backend (from backend folder):
mvn spring-boot:runStart Frontend (from frontend folder):
npm startBackend Tests (from backend folder):
mvn testFrontend Tests (from frontend folder):
npm run testFor detailed developer documentation and user manual, navigate to the docs/ folder.
Please read our contributing guidelines in the docs/ folder before submitting pull requests.