Giter Club home page Giter Club logo

picfix's Introduction

Overview

PicFix is a picture-based reporting app that allows people to report city issues (e.g. potholes, abandoned vehicles, graffiti) by taking pictures.

PicFix makes the reporting process faster and easier by collecting the information in smart ways since pictures already contain the majority of the information a city needs in order to respond to issues.

Technologies such as image recognition and GPS location services scrape the necessary information from the photo and are used to autofill the form for the user. Instead of having to manually enter information in every form field, users only have to look over the report and submit.

Project Explainer Video

GIF Demonstration of Submitting a Report

GIF Demonstration of Viewing my Reports

Leveraged Frameworks

PicFix is built with the Ionic Framework v2. Ionic is great for building applications across different platforms (e.g. iOS, Android) by using a code base built on Angular2 and TypeScript. Ionic also has a strong, active community which is useful for debugging issues.

Because mobile webforms don't have the desired native camera accessibility (the ability to integrate the camera view directly into the HTML), Ionic was also chosen for its ability to access the native camera functionality.

Firebase was used as a local, accessible database to demonstrate that the information in the reports could be successfully sent to another location.

Open Automatic License Plate Recognition (oalpr) was the image recognition API used to process the photos in the "Illegally Parked Car" report.

Installation

Install Node.js here

Run npm install to ensure all node packages are installed.

Depending on which platform you will be building for (e.g. website, iOS, Android) the installation will be slightly different in terms of what you need for development. Go here for Android and here for iOS.

Install Ionic with: npm install -g cordova ionic

  • To install the dependencies and plugins used in your project, run the following command: ionic state restore

If you're new to Ionic, here is a great tutorial for getting started.

Install the cordova plugins you may need for your project.

API Reference

License plate recognition is powered by openalpr.

Google Maps (API here) and geolocation integration was guided by this tutorial.

Firebase integration (API here) was guided by this tutorial.

We have included our API keys in our existing project but they may not work in the future so please acquire and use your own if you run into issues.

Tests

To constantly view changes, use the following command in your terminal: ionic run ios -l -c (iOS platform example)

  • -l is livereload which allows you to view changes that automatically update in the app without having to constantly stop and start the ionic run command.
  • -c is console.log which allows you to view console.log statements for debugging purposes.

Contributors

Feel free to contribute to PicFix!

Admin: Sam Cochrane ([email protected])

Support: Marisa Nanakul ([email protected])

picfix's People

Contributors

marisananakul avatar samuelcochrane avatar arvining avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.