Git Product home page Git Product logo

mysociety / fixmystreet Goto Github PK

View Code? Open in Web Editor NEW
493.0 36.0 228.0 189.27 MB

This is mySociety's popular map-based reporting platform: easy to install in new countries and regions

Home Page: http://fixmystreet.org/

License: Other

HTML 19.35% JavaScript 6.82% Dockerfile 0.01% Perl 65.05% Shell 0.42% PLpgSQL 0.80% Prolog 0.02% XSLT 0.04% SCSS 7.48%
international civic-tech map reporting councils mysociety civictech fixmystreet

fixmystreet's Introduction

Welcome to FixMyStreet Platform

FixMyStreet Platform is an open source project to help people run websites for reporting common street problems such as potholes and broken street lights to the appropriate authority.

Users locate problems using a combination of address and sticking a pin in a map without worrying about the correct authority to report it to. FixMyStreet then works out the correct authority using the problem location and type and sends a report, by email or using a web service such as Open311. Reported problems are visible to everyone so they can see if something has already been reported and leave updates. Users can also subscribe to email or RSS alerts of problems in their area.

It was created in 2007 by mySociety for reporting problems to UK councils and has been copied around the world. The FixMyStreet Platform is now at version 5.0; see CHANGELOG.md for a version history.

Installation

We've been working hard to make the FixMyStreet Platform easy to install and re-use in other countries - please see our site at https://fixmystreet.org/ for help and documentation in installing the FixMyStreet Platform.

For development, if you have Vagrant installed, you can clone the repo and run 'vagrant up'. We use Scripts to Rule Them All so script/update will update your checkout, script/server will run a dev server, and script/test will run the tests.

Contribution Guidelines

Whilst many contributions come as part of people setting up their own installation for their area, we of course welcome stand-alone contributions as well. The Suitable for Volunteers label in our GitHub issues hopefully labels some potential tasks that might be suitable for that situation, though please do search through the other issues to see if what you're after has been suggested or discussed - or feel free to add your own issue if not.

Mobile apps

We've extracted all of the mobile apps from this repository into the fixmystreet-mobile repository.

Acknowledgements

Thanks to Browserstack who let us use their web-based cross-browser testing tools for this project.

Examples

fixmystreet's People

Contributors

andrewblack avatar andylolz avatar annapowellsmith avatar chrismytton avatar crowbot avatar davea avatar dracos avatar gbp avatar jacksonj04 avatar jedidiah avatar joesiltberg avatar jonkri avatar kagee avatar lucascumsille avatar ludovic-tc avatar mhl avatar moraymysoc avatar mysocietyclive avatar nephila-nacrea avatar neprune avatar osfameron avatar petterreinholdtsen avatar pezholio avatar rikardfroberg avatar sagepe avatar sallybracegirdle avatar struan avatar unhammer avatar wrightmartin avatar zarino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fixmystreet's Issues

Allow admins/visitors to rotate misaligned photos

Quite often the photos of new problems on the homepage are rotated the wrong way. Would be nice to either sort this automatically, or if that's not possible, have some trivial way of righting them.

Where to go after giving an issue update

After updating an report from a list of pages near a place, or whatever, it would be nice to have some kind of link back to where you were before giving the update.

Display different text depending upon category selected

So that we can give specific prompts (e.g., if street lighting is picked then it could ask the user to find the light number) rather than generic hints.

Related to this: add in categories for reports which we DON'T want (e.g. noise, ASB, speeding, bins, etc.) and filter the user elsewhere if they are selected.

Global FixMyStreet

Single hosted service that can be translated into any language, that allows arbitrary areas to be included, and which has federated moderation (i.e certain parts of the world are looked after by different admins)

Photo disappears from iPhone-submitted report after clicking map

After submitting a report to FMS from my iPhone, I get an email with a link; clicking that link takes me to a page where I see a map, the photo I took, and some boxes to fill in.

If I click the map to modify the location, the page reloads and there's no photo on the reloaded page.

No email confirmation when using Android App

Make the android (and probably iPhone) app handle the entire process of reporting an issue without having to wait for an email and then follow a link to the website.

(this probably requires having some kind of login - for the android app accepting a Google login would probably do, since almost anyone using an android phone will have a Google account).

Android app: handle GPS better

  1. Don't register a GPS handler on startup, only when you're about to use it
  2. Once the GPS handler has got a fix, save it into session data with system time - then onResume, check whether there's already a recent fix

Promote regular FixMyStreet users to a new status, and manually encourage them to connect with other regular users via social networks

Once a user has reported three or more problems, their account changes status from 'newbie' to 'regular user'.

A moderator looks via an admin interface for locations where two or more people have reported at least three problems within a km of each other.

In situations where they have they write to the near neighbours and suggest they might like to set up a Facebook group, or other similar small group. Where this happens FMS records this fact publicly.

Allow users to see and edit the exact text of the mail that will be sent to the council

According to one user:

""I've found the automatically generated text description of the location of the problem (based on pin location on the map) is sometimes not very helpful to the council, especially in situations like a large junction where several roads meet. Seeing the text that is going to be sent to the council gives you the chance to add in a better description of the location.

(Poor text descriptions has been the cause of several items not being resolved by the council except after extra chasing from myself.)"

Tell unsuccessful problem reporters about local petitions

When a user tells us via survey that their problem has not been fixed, we could check to see if their problem was reported within an area where we supply epetitions. If it was, we could encourage them to make a petition to help solve their problem.

Update alert should allow reply/confirmation email bypass

Allowing people to update a report by replying to an email might be a bit tricky, given out of office responses etc., but at the least it should have a unique link if the alert is to the problem reporter, letting them write an update without then having to confirm their email - or in fact if the alert is to anyone, that could still work.

Add reporting to non-council organisations

For example, water leaks to water companies (share data with OFWAT?), housing associations, national parks, the Highways Agency (without having to ask the user if a road is Highways Agency or not).

  • Green boxes, etc.
  • Abandoned supermarket trolleys.
  • TfL, Bear Scotland, etc.
  • Crossrail (who emailed in Jan 2011 to ask to be added, sending contact details)
  • Apparently Scotland only have one water board (Scottish Water) so this might be an easy one to start with. List of water companies websites http://www.water.org.uk/home/resources-and-links/links/water-operators
  • OpenReach (poles)

RSS titles could be better

Currently, they just say "New local problems on FixMyStreet" or similar - it should change depending upon the contents of the feed somehow (though the feed just has a point, not the postcode the user might have signed up with, hmm)

Enable users to contact other users

Introduce an easy to use, prominent channel to allow users of FixMyStreet to directly and privately communicate with the authors of problems.

Add User Accounts, especially for regular users

This means adding a facility for users to have accounts, and for them to login the system before making new reports. A few regular users have been saying the site is difficult to use without this.

Logins would include Google, Facebook and mySociety's own authentication. The current problem creation process for new users would remain completely unchanged, though, with login being made available through a standard 'Top Right Hand Corner' option in the menu bar. When you are logged in as a user, you both get to create problems without email confirmation, as well as having a central place to see all your problems, their status reports, and any status updates from people other than you.

Most users with logins will create them on the page that comes up after a user has confirmed their email address through an email loop, at the end of the problem reporting process.

Users will have an option to make their personal pages public, for sharing information about what they have been doing.

We must conversion track relative effectiveness of putting account creation before and after confirmation email loop.

Improve the FixMyStreet Mobile Game

The game that we built at the Christmas hack day isn't really finished. ( URL http://fmsgame.mysociety.org ). In particular:

  • It needs to only return older/old problems; it is currently returning the newest around a location - need API for looking up reports, even if it's an API of RSS feeds.
  • All the text needs improving, and perhaps the URL.
  • We should have users chase down problems that have been marked fixed by councils, to check if they are marking things as fixed that are not actually fixed.

Fancy a walk? feature

When you finish reporting a problem, the site checks to see if there is an a problem of unknown status within, say, 750m of the postcode you originally put in.

If there is, it says:

"Do you fancy a walk? Right now? If so, you could help us by walking to X to and telling us what's going on."

Improve the mobile apps

Features that could/should be implemented include offline reporting (working when not online/storing reports for submission/review), a shinier UI, a map showing other people's problems, the ability to leave updates on problems, and integration with user accounts. Also perhaps the ability to choose photos that have already been taken.

As a first step, the apps should be updated to match the new mobile design, though offline reporting/user account remembering are certainly things to be considered.

Provide user interface for people to upload geotagged photos

Many phones now come with the ability to take geotagged photographs with the built in camera.

This would mean adding a new homepage option to FixMyStreet that said "Upload your geotagged photo here". When a user used this option it would skip the phase where they stick the pin in the map, and just ask them for the other fields required to make for a complete report.

Allow users to attach problems to specific street lights (where data is available)

It turns out that some councils have databases of, and unique identifiers for, all their public street lights. This is the most common form of problem report on FixMyStreet, and so it could help get more of these more successfully resolved if we could import the data for councils that provide it, and then modify the user interface to help people identify exactly where their problem is.

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.