Inspiration

Our community faces many localized issues such as potholes, broken streetlights, and uncollected trash that often go unnoticed or unresolved. We wanted to create a simple, effective solution to empower community members to report these problems and enable volunteers to help resolve them. The goal is to build a stronger sense of community and engagement, leveraging technology to make civic participation straightforward and impactful.

What it does

Community Helper App provides a platform for community members to report local issues by simply dropping a pin on a map and providing necessary details like descriptions, photos, and comments. Registered volunteers can then view these reports, accept tasks, and take action to resolve them. The app also includes features for user registration, login, and profile management, ensuring that both submitters and volunteers have a seamless experience.

How we built it

  • Backend:
    • Built with Python and Flask framework.
    • Utilized SQLAlchemy for database management and Marshmallow for data serialization/deserialization.
    • Configured Flask-CORS for handling cross-origin requests and dotenv for managing environment variables.
  • Frontend:
    • Embedded Google Maps using the JavaScript API for the interactive map interface.
  • Database:
    • Used SQLite for local development and as the database for storing user data and issue reports.
  • Templates:
    • Created versatile templates using Jinja2 for rendering HTML pages dynamically.

Challenges we ran into

  • API Integrations:
    • Ensuring the correct configuration and use of the Google Maps API.
  • User Interface:
    • Designing an intuitive, user-friendly interface that allows easy submission and management of issues.
  • Database Management:
    • Structuring database models to efficiently store and retrieve issue reports and user data.
  • Error Handling:
    • Dealing with various server errors and debugging issues related to template rendering and route handling.

Accomplishments that we're proud of

  • Successfully integrated Google Maps to provide a visually intuitive and interactive interface for reporting issues.
  • Built a robust backend with Flask that handles user authentication, issue reporting, and real-time issue management.
  • Achieved a functional prototype that can be scaled and adapted for different communities and use cases.
  • Created a seamless user experience with clean navigation and clear workflows for both submitters and volunteers.

What we learned

  • API Management:
    • Gained a deeper understanding of working with external APIs, including handling API keys and configuring API calls.
  • Web Development:
    • Improved our skills in building dynamic web applications using Flask, SQLAlchemy, and Jinja2 templates.
  • Error Handling:
    • Enhanced our debugging techniques and learned how to efficiently manage and resolve server-side errors.
  • Community Engagement:
    • Understood the importance of creating tools that empower community members to participate in local governance and problem-solving.

What's next for Community Helper App

  • New Features:
    • Adding features like real-time notifications for new issue reports and task updates.
  • Mobile Application:
    • Developing a mobile version of the app to allow users to report and manage issues on the go.
  • Scalability:
    • Preparing the application for deployment at a larger scale with better database architecture and server optimization.
  • Community Partnerships:
    • Collaborating with local governments and organizations to integrate the app into existing community management frameworks.
  • Enhanced User Interface:
    • Continuously improving the user interface to make it more intuitive and user-friendly.
  • Social Media Integration:
    • Allowing users to share reported issues and progress on social media to raise awareness and increase community engagement.

Built With

Share this project:

Updates