Skip to content

Latest commit

 

History

History
47 lines (25 loc) · 3.37 KB

README.md

File metadata and controls

47 lines (25 loc) · 3.37 KB

WeGiveYouEat

Screenshot 2022-12-03 at 2 16 00 PM

About us

Diego Anzola : GitHub

Brandon Bodemer : GitHub

Christian Shammas : GitHub

Ramin Radmand : GitHub

Overview

WeGiveYouEat is aimed to reduce the amount of food that gets wasted from large gatherings by connecting leftover food with people in need. The intended audience for this application is everyone! Users will be able to make a post which they will take an image of the extra food they have left over, fill out information about what it is that they are giving out such as, portion size, dietary restrictions, good till date, their location, and their preferred pick up time. Other users will be able to view listings based on their current location and how far they are willing to travel, and other available filters. This will be a progressive web application created using typed React Native which takes advantage of the Google Maps API and cloud services provided by Google Cloud.

UI Design

Group 1

High level Design (HLD)

As part of this app's functionality there is a need for end users to connect with other users within their desired radius, the Google Maps API will be used for this. Allowing users to adjust the map to find posts closest to them so no one has to go out of their way!

As storing information is a crucial part of this project Google Cloud MySQL will be used. This option has been chosen over the other possible options as a sequential database allows for a more fluid implementation of the desired functionality. Communication with the database is enabled through a REST API hosted on a Compute Engine instance and PM2. Firebase Storage is also used to store post images, which will be retrieved on a as per need basis when displaying pins on the map, or displaying the post image on each individual post page. Authentication is another requirement which will levarge Firebase Authentication, allowing for both email/password and third party authentication.

The diagram below shows the high level architecture of this app, and outlines what Google Cloud service will be used.

newHLD

Demo

WeGiveYouEatDemo.mp4

How to run

  1. Place .env in root directory - (if you are working on the API there is a seperate .env file)
  2. Run npm i to install all dependencies
  3. Run either expo start or npx expo start to start application, you will be able to choose what platform to run on or can specify from the beginning, follow examples belows.
    • To run on Android - expo start --android
    • To run on iOS - expo start --ios

If you face any issues run npx expo -c to clear all cache and restart the app