MEALINK
Description:
MeaLink is a platform that can connect Food Donors and Food Receivers with ease. Who are these 2 user groups?
Many communities struggle with food insecurity and organizations set up to help them often lack funding to create a quality experience (Food Receivers). On the other hand, the food industry struggles with excess food, and in turn food wastage on a mass scale (Food Donors). These two industries fit together like a puzzle piece for mutual benefit, and overall societal good. Restaurants with excess food or ingredients can connect with organizations that can make use of those resources to provide a quality experience for their population. This way, the restaurants find a convenient and simple way to practice corporate social responsibility (CSR) within their own communities, build trust within their customer base, and develop brand loyalty. On the other hand, the homeless shelters or welfare facilities benefit by being able to provide their population with diversified and quality meals and snacks, going beyond just the necessities, which in turn empowers the populations in their rehabilitation.
Our app connects these 2 users, and makes the coordination of food simple, quick, and easy to understand.
Screenshot and/or introduction video
Meet the Team
- Daniel Lu
- Kanwal Jamal
- Gursimran Kang
- Teng Ma
List of Releases
- See below
Individual Developer Journals
Project Proposal Wiki Page: https://git.uwaterloo.ca/g24kang/team-101-10/-/wikis/Project-Proposal
SPRINT 1:
15-February-2024 V 0.25
Tickets Completed (more details in development journal):
- Initial DB setup
- Set up DB table for Food-Items
- Issue Set up DB table for Users
- Account Creation - Email
- Update Sign-up Page to Collect Required Fields for Users Collection in Firebase DB
- Implement Sign-in Page (UI and Functionality)
- Make the database document ID for a user the same as the UID when they sign up
- Create Home Page
Summary:
This version contains:
- Firebase cloud computing service setup
- Home page complete with buttons for Sign-up, Sign-In, and placeholder for Google Sign-in (Will be done in next release)
- Firebase Database set up with tables for Users and Food-Items
- User sign up with email and additional required fields which persist to the database collection (Users)
- User sign in with authentication
- Firebase Authentication Completed
- Authenticated user is directly mapped to user record in Users collection in DB according to Primary Key: User UID
- Error handling for incomplete sign-up form, or incorrect credentials upon sign-in
SPRINT 2:
08-March-2024 V 0.50
Features/Tickets Completed (more details in development journal):
Finish Integrating Google Maps API:
Sign-up page refactors:
Profile Picture Uploading:
User Profile Building:
Summary:
This version contains:
- Integrated Google Maps API ready to be used throughout the application
- Refactors made to the sign-up page to provide validation and success messages for better user experience
- Base user profile where users can make changes to their account such as name and location, and have those changes persist to the database
- Ability to change profile picture within user profile
SPRINT 3:
22-March-2024 V 0.75
Features/Tickets Completed (more details in development journal):
-
-
Refactor the app and put each UI page into a function with a class that can act as a navigator between them. This would follow the MVVM model -> Navigation bar works as expected
-
Should migrate app to single-activity design before bottom nav-bar is fully integrated to app. Started migration with https://git.uwaterloo.ca/g24kang/team-101-10/-/commit/f1268e7874f0a74b330cec2a3568fecdd24282bc
-
-
Adding a "Create an Offer" page functionality, both front-end and back-end
-
Adding a "Search Offers" page functionality, both front-end and back-end
Summary:
This version contains:
- Functioning navigation bar and refactored application
- Routing to "Create and Offer" page for foodDonors
- Routing to "Search Offers" page for foodReceivers
- Ability to search offers in a list and map format
- Secure sign-out and redirection implemented
SPRINT 4:
5-April-2024 V 1.0
Features/Tickets Completed (more details in development journal):
- Consistency:
- Worked on offer search and offer details screens to finalize design for images and functionality
- Instead of creating a messaging tool within the app, (which would distract from the primary goals of the app), we use email as a tool for handling communications regarding offers/requests
- Made some stylistic improvements that needed to be made to the MapsActivity and UserProfile and implemented a scrollbar
- Quality/Style:
- Redirect back to search offers page after offer is accepted
- Add back button to offer details page
- add input validation to the create offer screen
- User should not need to log in each time they open the app
- Fix photo picker crashing issue
- Unfocus textbox when tapping outside
- Text box highlights and other accents don't match green theme
- Testing:
- Ability to open up locations in Google Maps
- Ability to include images in offering/requesting posts
- Final Submission: