Community camel was inspired by Uber eats and other food delivery platforms. We noticed that while these platforms were useful, they also charged a substantial delivery fee which is a barrier for low-income and vulnerable populations. We wanted to create a delivery platform for people to help out the struggling members in their own community free of charge.
What it does
Community Camel addresses the issue of providing basic services to those who need it the most. The Covid-19 pandemic revealed that not everyone always has the luxury of being able to leave their home, which is why Community Camel aims to connect those people with others that can help. Users can sign on as either someone placing an order or a driver. When placing an order you select the quantities and items you need. A driver can then volunteer to pick up the order, there are options both for the person who placed the order to pay the driver for the groceries or for the driver to donate them. This Community Camel application can also be used to address difficulties that food donation and homeless shelters face, with not being able to communicate the items they need to be donated. The Community Camel application solves this problem, as donation centers can place a list of items they need to be donated on the Community Camel application and the application will prioritize promoting it.
How we built it
We started by coming up with an idea for our application, and the general functionality we wanted to incorporate the week leading up to the hackathon. We discussed the information we needed to be stored in our database to achieve the level of functionality we wanted.
When the hack the north challenge opened we immediately split up into groups and began working on setting up the database connection, creating the HTML pages, setting up the SQL tables, and designing the Figma separately. Every few hours we would update each other on our progress, ask questions if needed help, and send each other relevant links. We also kept in touch using voice chat on discord.
We started with determining user flow and wireframes in Figma and then created a basic mockup of the completed app screens as a reference for front end and back end.
We designed relational schemas for our database then created them with cockroachdb.
We used Flask and Python to run the web application as well as manage the connection to the cockroachdb.
We used a template from HTML5Up to help us in the development of the front end for our application.
~We’d like to thank Google for sponsoring our knowledge with Google Search~
Challenges we ran into
We ran into challenges successfully linking to the database. Ajax, PostGreSQL and Flask were new technologies for us in this hackathon. We originally had difficulty connecting to the database, as we weren’t familiar with using psycopg2, and how to set up database connections. After we were able to connect to the database, we had to learn how to use Ajax calls to forward information from the HTML forms to the backend so it could be passed to our database.
Another challenge we ran into was the cockroachDB cloud going down roughly 8 hours before the deadline. We were hoping that it would only take an hour or two to setup, but were told that it would be unlikely that the database would be back online before the deadline. In the face of this challenge we were forced to edit our html pages and statically insert elements which would have been dynamically added based on the database information to the page in order to have an application to present.
Accomplishments that we're proud of
For design, the team is proud of creating and prototyping a complete Figma layout and app logo design from scratch in 36 hours. This required a lot of planning and time management.
The front end recreation of the Figma mockup is also something we are proud of.
The team spent a lot of time working on successfully linking the app to cockroachdb and despite the database going down, still managing to make the app work.
We are proud of the amount of work we were able to complete as a team in such a short time and finishing the hackathon!
What we learned
We learned new technologies including Ajax, PostGreSQL, Flask, pyscopg2.
We learned that it’s important to track and merge github changes frequently, as at one point everyone on our team was working with different code.
For design, we learned that it’s important to set up a user flow chart first and have a detailed plan of the functions of the app and what each screen will do. This helps make the app interface easy to navigate and understand.
We also gained more experience and learned how to work together as a team by communicating when we needed help, and which files / functionality we were currently working on.
What's next for Community Camel
Successful integration of google maps API to allow filtering of orders based on distance from driver’s account
Integration of vonage API to allow for messaging and notifications
Allow for billing of orders
Attach a google cloud to allow drivers to upload a photo of the receipt for proof of purchase and cost
Our database includes tables for account information, order information and lists of items in the orders.
For design, we used Figma and photoshop.