Our team was responsible for such steps of the development in the project: front-end and back-end systems development, iOS and Android mobile applications creation, and plugins for browser development. The significant part of the project was the back-end system development:
Our back-end developers used Python 2.7, SQLAlchemy, GAE, and Web2Py. Our team migrated the database using Alembic and created tests using Selenium. The essential part of our development was also collecting statistical information about the twins activity, tracking visits to website pages with certain keywords, sessions on websites, and so on.
We used Scrum Agile methodology for planning short-term sprints for effective and close team collaboration. We had regular meetings with the product owner to respond quickly to change and also had daily meetings inside of the team.
After all the optimisation, the geolocation tracking feature was added which had to combine precise tracking with efficient battery usage. Also, a bunch of user interaction-related features like password reset were implemented. Then, the app usage tracking was added. The feature is about tracking which app and when it is used by the user. Because of the different Android API’s that had to be supported, app tracking was implemented in different ways for the versions starting from Android Lollipop and for earlier ones. Consent forms were implemented for receiving the user’s agreement for location and app tracking features. Push-notifications were added to notify users about new, available surveys.
The location and app tracking were improved to store data locally while offline and send it to the server when a wi-fi connection is available.
For the project development, the technologies mainly used were: Java, Android SDK, Google Services, Google Cloud Messaging, and Gradle.
"Andrey has pulled together a couple of different teams for me on different projects over the past few years. They specialize in Python-based web development (Django; Google app engine) but have also been able to do some work on iOS and Android apps for me. I've learned a lot about good development practices from them, some of which I now try to teach to my students!"Paul Resnick