google / personfinder

Person Finder is a searchable missing person database written in Python and hosted on App Engine.
https://google.org/personfinder
Apache License 2.0
536 stars 195 forks source link

DB to NDB migration #346

Open gimite opened 7 years ago

gimite commented 7 years ago

We currently use the old DB API for datastore access. We should probably switch to the new NDB API: https://cloud.google.com/appengine/docs/standard/python/ndb/db_to_ndb

Among others, NDB API provides automatic caching of entities (explained in the page below), which should make the app faster. https://cloud.google.com/appengine/docs/standard/python/ndb/

waseem18 commented 7 years ago

Hi @gimite ,

I'm really interested in contributing to this project and would like to start by resolving this issue.

I'll go through the complete code first and then will start the migration. Will notify you my progress here!

gimite commented 7 years ago

Great, thanks!

@githaruo FYI

waseem18 commented 7 years ago

@gimite I have gone through the code and the db to ndb migration documentation provided by google cloud. I have also started the migration just now and will complete it soon! :) :+1:

Looking forward to make great contributions to this project!

Edit: I've completed half of the migration. Migrating notes part now. Will complete it by this weekend! :)

waseem18 commented 7 years ago

90% of the migration is done. :)

waseem18 commented 7 years ago

Migrating tests!

gimite commented 7 years ago

Great progress, thanks! Looking forward.

waseem18 commented 7 years ago

@gimite I'm constantly working on this in my free time. Currently busy with my office work. Will make a PR within a week or may be soon :+1:

Just wanted you to know that I'm working on it!

waseem18 commented 7 years ago

@gimite I'm looking into server tests now. As soon as I'm done with it, I'll push the code to a different branch here so that you can have a look and test it.

gimite commented 7 years ago

Hello @waseem18 ,

What is your progress so far?

It would be great if you share your change so far e.g., as a pull request, even if it's still incomplete. Then we can start reviewing it, or maybe one of us can take over your work in case you have difficulty continuing the project.