Inspiration:

Our problem was inspired by the gap that exists for people to identify and try to get problems solved in their communities. The process is often hard to find or understand, time-consuming, and unsuccessful, resulting in a gap between members of a community and those in power. We saw this problem in many facets of our lives, from our neighborhoods and cities to our schools.

What it does:

Town Hall allows users to post problems that they have encountered within their communities, and other users who may relate or support these problems may endorse them. Users can also propose solutions to these problems, which would then be upvoted based on support within the community. Creating a central platform for members of communities to communicate about issues they face makes it easy for problems and avenues of change to be communicated to those in power.

How we built it:

Backend: Python: Flask and SQLite, authentication using JSON Web Tokens (via flask-jwt-extended). Frontend: React with TypeScript

Passwords are hashed and salted using python's hashlib.scrypt before storing in the database.

We began by developing a backend and frontend framework, and connecting the two. From there, we developed a backend database system with SQLite, and formatted our pages with React and CSS. We worked in Visual Studio Code (frequently using the LiveShare feature) and with Git and GitHub.

Challenges we ran into:

We had run into many issues with syncing the back and front end, as well as connecting our database. In addition, we ran into many challenges with creating a login system that was compatible with everyone's system and python setups. We also ran into issues with the formatting differences on machines on light vs dark mode.

Accomplishments that we're proud of:

This was most of our team's first hackathon, and we are glad that we were able to develop a solution to a problem relevant to our lives. In addition, we all learned a lot over the course of the project, from youtube tutorials to each other and the mistakes we made. We are glad that we also made a functional MVP, which we hope to further develop in the future.

What we learned

Our team had never used Flask before, so we learned a lot about setting up and using flask, especially with an SQL database. In addition, we gained more practical experience in front-end development, with react and typescript.

What's next for Town Hall

We want to develop Town Hall such that we have a server that allows multiple users to connect to the same feed on the platform, and to develop the separation of problems into communities, much like subreddits on Reddit.

Share this project:

Updates