Git Product home page Git Product logo

personfinder's Introduction

Person Finder Build Status

Person Finder is a searchable missing person database written in Python and hosted on App Engine.

Person Finder implements the PFIF data model and provides PFIF import and export as well as PFIF Atom feeds. It was initially created by Google volunteers in response to the Haiti earthquake in January 2010, and today contains contributions from many volunteers inside and outside of Google. It was used again for the earthquakes in Chile, Yushu, and Japan, and now runs at https://google.org/personfinder/.

How to Contribute

  1. Follow Getting Started to set up your development environment.
  2. Follow CONTRIBUTING to send pull requests.

personfinder's People

Contributors

alexandrezani avatar bonhommebiais avatar carlolotelit avatar clobrano avatar d268 avatar dependabot[bot] avatar ezbr avatar gennad avatar gimite avatar githaruo avatar jessie-newman avatar kevinalle avatar kshithijiyer avatar matthew-z avatar myoshimu avatar nworden avatar nya3jp avatar parths007 avatar pfritzsche avatar prazuma avatar rajibhossen avatar ryosuketc avatar sbilac avatar skywhale avatar stephanie1125 avatar tormath1 avatar wilddamon avatar yaboo-oyabu avatar yashladha avatar zestyping 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  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

personfinder's Issues

Improve the dashboard UI

In current admin/dashboard, the section showing statistics fo Data Sources is not very intuitive. We would like to re-design this section to make the table more clear and user-friendly. Basic improvement such as some alignment, colors would be good. It will be mostly HTML/CSS work.

Automate Environment setup

The Getting Started Guide explains how to install all tools required to develop PersonFinder as well as their version.
However, sometimes it can be painful to make sure this is working fine and that we have the right setup.

It would be great to be able to have something more automatic: either some sort of image of a setup to clone (and project owner would update this image regularly when the tools versions are upgraded) or some script to run which will install what is missing with the correct version...

Prepare default message for deactivation message etc.

We can internationalize the message beforehand. Then we can save on-site internationalization effort if the default message is sufficient.

  • The message saying the repository is deactivated e.g.,
    Person Finder is no longer managing records from XXX.  For
    additional information on missing persons, please contact the <a href="
    http://www.icrc.org/Web/Eng/siteeng0.nsf/html/restoring-family-links-what-to-do-220208">ICRC
    delegation in your country</a>.
  • The message saying the repository will be soon deactivated
  • The message to explain SMS usage
  • Maybe others.

Web UI for all configs?

We may want to have a page to edit all configs. Current admin page allows us to edit only part of the configs. We need to use tools/console for others.

If we do that, we need to be careful so that config doesn't affect the rendering of config page itself, which would cause unrecoverable breakage.

Build an Android client application for Peson Finder

This is an experimental project, which I plan to have one of the interms to tackle this Summer.

  • Show a notification when a new repository is activated (using repo feed or C2DM)
  • Offline support: upload a person's status as soon as the phone goes online
  • GPS location sharing: make it easy to share the current location based on the phone's GPS signal
  • Ideally, the application should be preinstalled on Android phones

Google had an intern in 2012 to build a prototype app, which has all the basic functionality including location update with GPS signals and photo uploading. The code is not open-sourced, but if anyone's interested, please let @skywhale know.

Fuzzy Matching of names

UC Irvine has done some work on this, but allow "like" names to show up in search results

Server test is fraky

It seems the server test occasionally fails. Check and fix it.

One flaky test is:
ConfigTests.test_config_cache_enabling

Add subscription API

Add an API to subscribe to a record with an email address.

Probably as an API separated from existing write API?

Request by a developer of PF mobile app.

Better name for API "read" permission

Give better name for API "read" permission, both internally and in the application form, to something like "bulk_read". Admin page should also have clear documentation.

Nepal earthquake April 2015

Looking for Isaac Baldwin from Manchester he was trekking with a Sherpa and Max Downman around the annapurna ring when the quake hit this morning 07503337405

"Show who marked these duplicates" is very confusing

When I mark 2 records as duplicates, then it adds to each record the following text.
"Possible duplicates
PERSON NAME
(links_to_record_)
Show who marked these duplicates"

"Show who marked these duplicates" is a link and when I click on it, I expect to see information about the person.
What happens is actually, that we do display a note on the right side of the record. But it is hard to notice, for a while I though it just linked me to the duplicated record.

Maybe we should just highlight the new notes with a color?

Add photo upload API

One of frequent requests by third party developers, including a developer of PF mobile app.

Config validation?

We may want a mechanism to define verifier of config values. Currently, we can set a value in arbitrary type for configs with tools/console. And setting a value with a wrong type could make whole PF site unavailable.

Add zero-rating mode

Add a per-repository config to enable zero-rating mode. In zero-rating mode, all features which require access to sites outside google.org are disabled.

AFAIK these are: Maps API, Google Analytics, Translate API

Also act as proxy of Google ToS.

TODO: Verify if there are anything else.

Fixed: #220 #218
Not fixed: #239

Integrate with Google Search

From a customer feedback.

Due to our deletion policy and to avoid crawling, we cannot simply allow Google to index PF record pages. But it might be possible to add Person Finder onebox in Google Search.

1.A google search for data entered in person finder does not appear in a google search of Firstname;Lastname or other forms.
2.Adding data from Person-finder to Google index would greatly expand it's useability and create hits for others searching for lost family.

Add option to disable crons for deploy

Currently when deploying to appengine, it deploys the default config, in particular, it uses cron.yaml which specify some cron jobs to run.
When deploying to some dev version it would be good to not run some of these cron jobs which use significant amount of CPU/memory and make the dev instance run our of free quota.

The goal of this bug is to allow to deploy to appengine without the jobs described in cron.yaml.

Skills Requirements:
Knowledge and experience with appengine

Make area names (states, cities, towns) consistent

Currently these are optional and free-form text fields. So they can be inconsistent. Each record can have only part of them, and they may be written in different ways (Tama vs Tama-shi vs 多摩市). It may be great if we can make it consistent, which enables:

  • area-restricted search
  • get list of missing people in an area (for trusted third-party)

One idea is to make them a drop-down list instead of free form. Challenge is to prepare it for as many countries as possible.

Search by face recognition

Why not use the picasa face recognition to find people.
If people take random pictures in shelters in japan and upload them to the missing people web site, and the a loved one who is looking for them can upload a photo and tag it with a name. Then picasa face recognition can scan through the pictures uploaded from shelters to find the missing people.

Allow for hidden fields for identification

Allow some identification fields (such as social security or full birthday) to be sent & searchable but not exposed. Can be used for dups detection
->Open question: share in feeds?
->Open question: PFIF flag as hidden?

Full-text search (search by person name + location)

Switch to search API provided by GAE ( https://developers.google.com/appengine/docs/python/search/ ) instead of hand-made indexing.

The code has been submitted, but currently disabled by a config.

Blocking bugs to launch it: #189 #180 #206

Requirements:

  • Allow search by person name + location (city, town, etc.).
    • Currently only by person name.
  • Make sure a search query matches at least a part of person name.
    • Otherwise, the feature could allow querying for a neighborhood name and scrape a list of people there, which we agreed is a capability we don't want to provide with ordinary users to protect users' privacy.
  • Rank person name match higher than location match.
    • e.g., Query [shibuya] should return people with name "shibuya" first (if available), not people in Shibuya Ward.
  • Keep script variant support (e.g., search hiragana by katakana and Latin alphabet) already available.

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.