Inspiration
WishMate stemmed from the experiences of teammate, Sophia, who was the Volunteer Coordinator for her Church and ran through several issues when trying to organize food drives, jacket drives, and toy drives. Oftentimes, there would not be enough people that knew about the drive or about the list of items to get. There was no good way to connect between organizations and the volunteers. Therefore, WishMate alleviates this by allowing for organizations and volunteers to interact directly by uploading, viewing, and accessing wishlists for drives.
What it does
WishMate has been created to serve various non-profit organizations and charitable drives to create a seamless flow between the volunteers and the organizers. WishMate is an app that allows an organizer to create different wish lists for drives like a food drive or a Toys for Tots Drive. Volunteers can then sign up and log in to the App to view drives and wishlists happening near them. The app uses the latest technologies to bring forward a user-friendly experience to the users. By utilizing technologies such as AWS image recognition (Rekognition API), MongoDB Atlas Database, as well as Kivy and Python programming language, we were able to deliver a product that helps “Serving Communities One Wish At A Time”. The features of the App includes, creating profiles, creating/updating wishlists through entering text, uploading an image from your files, or even taking images with your camera. The image recognition software will recognize what is in the picture, and as a result provide links to the users who are willing to fulfill other user’s wishlists. The users also have the ability to view the wishlists of others who are near them. Overall the app is made to help users make positive changes to communities.
How we built it
We built our app using Kivy framework for the front end, Amazon Web Services Rekognition for the image recognition software, and MongoDB atlas for the backend database applications. We constructed the Kivy app using libraries such as Pandas, PyMongo, etc. For AWS Rekognition we used other AWS tools such as S#, IAM, Lambda, etc. We integrated the front as the main source of interaction between the users, and the AWS Rekognition API as well as CV2 (for the camera) was embedded into the frontend to make it seem like a seamless tool. The MongoDB was implemented in the backend and it communicated with both the AWS Rekognition API as well as the Kivy front-end app.
Challenges we ran into
One of the major challenges was trying to communicate with the MongoDB database. We had difficulty making sure that the data that was collected by the Kivy app and AWS Rekognition labels, and as a result were getting stored in the database. Another difficulty we had was trying to incorporate the AWS Rekognition into the front end, but we were able to tackle all these problems successfully.
Accomplishments that we're proud of
Accomplishments we are proud of include combining the three major parts of the project into one full working app. The front end successfully hosted both the MongoDB database and the AWS Rekognition in the background while providing the user with a user-friendly experience.
What we learned
We learned how to use many new technologies. All of us were fairly new to all of the technologies such as AWS, Kivy, and MongoDB, hence there was a lot of learning done along the way. We learned how to understand coding documentation and how to make sure we are choosing the right software technologies for developing our products.
What's next for WishMate
We look forward to implementing WishMate into a mobile app version. We would also like to include other features such as being able to cross off checklists, making it interactive by adding chat features, and also making the GUI more advanced.
Built With
- amazon-web-services
- cv2
- github
- kivy
- mongodb
- mongodbatlas
- pandas
- python
- rekognition
Log in or sign up for Devpost to join the conversation.