On May 27 this year I received wonderful news: I had been accepted as a Google Summer of Code student at Code for America! That meant that I was going to spend the next three months working on a project whose idea I had submitted just days before.
My idea was to create a wrapper of the GeoReport API (part of the Open311 standard) to make it easier for other users to create applications related to the standard. I elected Java as the programming language for this project because it is the one I know best and it would allow building Android applications too.
Days after, I met my mentor, Shaunak Kashyap, for the first time. We discussed the idea I had proposed deeply and thought about which tools and methodologies we were going to use. He did an awesome job helping me to create the library and improve myself as a software developer. During the summer we met once a week through Google Hangouts to discuss the status of the project and our next steps.
I think we did quite a good job, the result is a fully functional library with some features such as:
- Very simple usage (and easy-to-follow documentation)
- Data caching (avoiding a lot of costly network operations)
- Logging system
- Compatible with some non-standard endpoints
- Most of the library is supported by unit tests
In case you would like to learn more about the library, here are some interesting links:
- GitHub repository (the best way to get to know it).
- Blog posts showing the process of the development.
- Library page with information regarding Javadocs, code coverage, dependencies.
- Blog post with a usage example (Android app).
Thanks to Google, Code for America, and (especially) Shaunak for this great experience.
Questions? Comments? Hit us up @codeforamerica.