Previewing a Snap: Click on the orange drops to preview images taken at that location
Viewing a Snap: Read more about the photo, get tips/advice, and get inspired
Uploading a Snap: Pick the location, add information, and upload your photo
Succesful Upload: Once your photo is uploaded, others can view it on the map
This summer, I bought a DSLR camera and started taking up an interest in photography. For the last few months I've been bringing my camera with me wherever I go. I'm always on the lookout for cool places to take photos and am down to share awesome photo spots with others. This led me to come up with the idea for SnapDrop, a community and platform for sharing great photo spots.
What it does
SnapDrop is simple: Browse the map and search for snap spots posted by the SnapDrop community. Get inspired by photographers in the area, find great spots to take photos, and share your own. To share photos with the community, double click the map or press the plus in the top right corner, upload your photo, set the correct location, and add a little writeup + details. The result is a collaborative open community and platform for photography enthusiasts, both amateur and professional.
How we built it
SnapDrop on the back end is built on top of Node.js/Express and MongoDB. On the front end, SnapDrop uses Vue.js, a lightweight front end library, as well as Bootstrap. In addition, SnapDrop relies heavily on the Google Maps API to provide maps and places data. Finally, SnapDrop is deployed on an Amazon Elastic Beanstalk environment
Challenges we ran into
This was our first hackathon so naturally one of the first challenges was just getting used to non-stop work, little sleep, and a fast paced work environment. In addition, we just ran into small development humps during the course of the hackathon. Small bugs, having to teach ourselves different APIs/frameworks like Google Maps and Vue.js, and deployment on Amazon Beanstalk.
Accomplishments that we're proud of
We're proud of putting together a final project that ultimately works and looks clean/professional. Though it's not perfect and still very much a work in progress, we're proud of the overall look and feel. We sought to create a community and platform and we believe we've created a good baseline for that.
What we learned
We learned more about the challenges and tribulations involved with deploying a full stack application. On the development side, we learned more about Node.js, Express, and MongoDB. This application used a lot of geo-querying which was a first for me. In addition, on the development side, we learned more about Vue.js, the Google Maps API, and Amazon Elastic Beanstalk deployment.
What's next for SnapDrop
Currently, SnapDrop is not secure or ready for widespread use. SnapDrop uploads are slow, there is little to no input validation, and there are still many features that we wish to work on (comments, social aspects, profiles, and more). SnapDrop will most likely be expanded upon after this hackathon so keep an eye out for future updates and developments.