WDI week 8: group project week


For our second project, my group sat down and began discussing ideas. We had a pretty good mix of backgrounds and interests and skillsets between us, but unanimously decided we were keen to do something with maps.

We came up with the idea of a lost and found app, that would let users drop a pin on the map to represent where they lost or found an item, or look through other pins and contact the other user if they recognized an item already listed.

We initially looked at Leaflet for our maps, but we wanted people to be able to search by location as well as just drag the map around from their initial location. This meant we ended up going with Google Maps because it has better integration with Google Places, which allows you to search by business or landmark.

Some of the problems we tried to solve were user privacy and anonymity, which we took care of by implementing a behind-the-scenes email system rather than displaying user email addresses, and also the possibility of people abusing the app by trying to claim valuable things that weren't theirs. The second problem we solved by putting a 'secret question' feature in place. When someone listed a found item, we required them to add a secret question about the item, perhaps referencing some distinguishing feature that only its real owner would know. To respond to found listings, a user would have to answer this correctly before being allowed to contact the finder.

I was quite keen to work on the API integration because I knew it would involve lots of JavaScript practice, but the way we split out the work meant I ended up mostly taking care of the front end, for which we used Bootstrap. Two people ended up doing the JavaScript stuff, and one took care of the models and email system. Working horizontally meant we all worked quite separately and then had a bit of a nightmare merging it all together once it was time to do that. With hindsight, we should've divided the work more vertically, by feature rather than by part of the app, so we all had to work across the whole stack.

The most positive thing for me was that I did get a lot of Git experience, and have a much much better understanding because of this project. I don't think you really start to see just how amazing version control is till you have to coordinate several people all working on the same thing at once. Branching, stashing, merge conflicts... yep, I can do all of those now!

The app will remain a work in progress for a while, but you can see it at http://oomerang.it and on GitHub at https://github.com/negomi/oomerang.