We were inspired by stories about how the COVID-19 pandemic resulted in communities banding together where members of the community would help by running errands, deliveries, etc. for other people who might be unable to leave their homes due to being vulnerable to the virus (https://ktvl.com/news/local/community-coming-together-and-helping-others-amid-fears-of-covid-19). These stories mentioned that communities would use google docs or Facebook posts to communicate with one another - however, we thought that using a website would be a better way to handle this situation where community members can quickly post requests that everyone else can see. The website would also be useful for user's to check on the status of their requests and for contributors to find what they can do to help their neighbors.
What it does
Our program allows a member of the community (the user) to create an account with the Community Request Board "website", where the user can submit a request or find requests that they can complete for other users. The user and request data are stored in a database.
How we built it
Using python and SQL.
Challenges we ran into
We had difficulties on deciding between using a database or strictly OOP + JSON to store our user and request data. This caused our progress to be delayed since we were divided on which path to go with; however, we eventually decided to use a database because it allowed us to preserve the data after quitting the program.
Since we've only taken CS161/CS162 so far, our lack of experience and time-constraints prevented us from trying out different options to improve the program such as object-relational mapping, wxPython, and Flask.
Accomplishments that we're proud of
We are pretty proud of finishing our first hackathon! It's great that we were able to implement SQL into our program, even though we didn't have formal training or experience prior.
What we learned
This was our first hackathon experience and it was a great experience where we learned to work with other students, which we haven't done in prior programming classes. An important lesson we learned is the importance of planning out flow-charts and details so that every team member understands how the program will be developed and what features it requires. Furthermore, we learned the importance of communication and delegating roles so that everyone had a part to play. We tried to have everyone on the same page in terms of what was going on with the code, thanks to the Slack group chat that we created. Some of the members also learned how to use git/github in a group setting and completed a short Learn Git course on Codecadamy to prepare for the hackathon.
What's next for Community Request Board
It would be great to eventually create an actual website and incorporate GUI components with Flask and ORMs.