Inspiration

College students regularly see issues with their campus, yet the system to get these issues fixed is confusing and everyone thinks “someone else” will deal with it. For example, issues like potholes on campus streets, streetlights not being on at night, lights in lecture rooms/study spaces being faulty, lack of traffic lights at busy student streets, hand sanitizers being out often go unfixed for months. While 311 exists right now for the city, UofT lacks such functionality, and has no way to aggregate these posts to best address the most prevalent issues in the community.

What it does

Civfix works to centralize all reported issues/tickets around the neighborhood, to complement the functionality of 311 as well as facilitate community engagement on the issues around the city. A standard ticket flow looks like this: Users generate tickets for community issues, others can upvote tickets to prioritize issues in the community, then school administration can view/mark these issues as resolved in a admin panel.

How we built it

Our backend was built using Django and Python, as well as a localized SQLite database, and our frontend was built using Bootstrap and HTML. We registered and deployed our code using GoDaddy.

Challenges we ran into

As a group we had no prior knowledge of Django, so the learning curve and implementation was a bit steep as first. We also tried to implement Auth0 functionality for an easier sign-on process but ended up running into issues involving multiple Django "apps" and having unnecessarily complex routing between sites.

Accomplishments that we're proud of

Successfully navigating a late-stage refactor of our code involving aforementioned Auth0 sign-in issues. We're also super proud of having gone from zero Django experience at the beginning of the event to having a fully-fledged prototype of a database. Connecting our frontend to our backend also had it's challenges but was super rewarding once completed.

What we learned

Asking for help! Our mentors were super helpful in giving us not only direction at the start of the event about what technologies would best suit us, but also giving the tough advice of a late-stage refactor to avoid sunk costs.

What's next for CivFix

Some functionality we plan to add in the future:

  • User Edits: Users can edit their submitted tickets for updates or additional information. Commenting on Tickets: Enhanced discussion through comments, facilitating detailed issue conversations.

  • Map View Functionality: Visual representation of issue locations for better context and understanding. Image Upload: Allow users to upload images along with their tickets.

  • Data Analytics: Implement analytics to track user engagement, popular categories of issues, and resolution times.

  • Gamification: Introduce more elements such as badges, achievements, or rewards for active users.

Share this project:

Updates