Background and Overview
Food waste is an issue pervasive to urban and rural environments alike. In the United States alone, food waste accounts for an estimated 30-40% of food supply. It's common for consumers to purchase more food than they ultimately consume. Forgotten food generally finds its way to the back of the fridge, where it sits until it spoils.
PCNK provides a simple, user-facing tool for those with extra food to give it away to a someone from a known personal network, whether a coworker or friend. Users can take a photo of the food they want to give away and upload it to PCNK with a brief description. The uploader can choose to share the item with a specific group, e.g. coworkers, or a larger network. Users with access to the uploaded item may view it in their "pantry," which displays food currently available to claim.
PCNK's target audience is groups of people who devote significant time within shared locations (e.g. housemates, offices, gym-members, church-goers, etc.)
Users can:
- Upload images of food to share
- Claim food they see in a scrollable "pantry"
- Grant specific groups access to foods they upload
Docs
We browsed through the following documentations for React Native, Firebase and Facebook OAuth:
React Native
https://facebook.github.io/react-native/docs/getting-started.html
React Native Firebase Starter Kit: boilerplate code && environment setup
https://github.com/invertase/react-native-firebase-starter
React-Native-Navigation: routing & navigation solution
https://github.com/wix/react-native-navigation
styling: https://github.com/wix/react-native-navigation/blob/master/docs/styling-the-navigator.md
React-Native-Elements
https://react-native-training.github.io/react-native-elements/docs/overview.html
React-Native-Camera
https://github.com/react-native-community/react-native-camera
Firebase integration for React Native
https://rnfirebase.io/docs/v4.0.x/auth/getting-started
Facebook Auth
https://rnfirebase.io/docs/v4.0.x/auth/social-auth
https://github.com/facebook/react-native-fbsdk
https://developers.facebook.com/docs/ios/getting-started/#sdk-project
Firebase Image Storage
https://github.com/invertase/react-native-firebase/blob/docs_old/docs/modules/storage.md
https://rnfirebase.io/docs/v4.0.x/storage/reference/storage
teaset - React Native UI Library
https://github.com/rilyu/teaset/blob/master/docs/cn/README.md
Credit
Big thanks to these awesome developers. We would have gone through more struggles without their previous exploration && contributions to the tech community.
store, actions, reducers:
reference to code from James Priebe's and June Domingo's projects:
https://github.com/J-Priebe/react-native-facebook-firebase
https://github.com/JuneDomingo/movieapp/tree/feature/similar-movies
Add App Icons and Launch Screens to React Native Apps:
Switch between single screen for login and tab based app:
simonedavico's answer: wix/react-native-navigation#2310
Alvin Chau's tutorial: https://github.com/keri4141/React-Native-Navigation-Redux-Example
Change Splash page to login after X seconds of loading
https://stackoverflow.com/questions/44937498/react-native-change-screen-after-x-seconds
Movie app using React-Native-Navigation
https://github.com/junedomingo/movieapp
Firebase Image Storage example
https://github.com/dailydrip/react-native-firebase-storage/blob/master/src/App.js#L43-L69