Inspiration
The inspiration for the project was two parts. One, my wife and I have a map on our wall with a pin for each country and city that we've traveled together. I think it's a cool visual representation of our trips and it's a nice walk down memory lane to look at the map and see all the places we've been. The second part of the inspiration is that we often share trip recommendations and itinerary suggestions with friends, and it turns out, none of us do a good job keeping track of these suggestions; it always ends up being a collection of cobbled-together Google Docs, emails, or texts that are hard to keep together. I thought this would be a cool way to simultaneously bring our map to the digital world while creating an easier way to keep track of travel itineraries.
What it does
This site allows users to "pin" cities they've visited on a map, and keep track of sites they've visited in each city. Users can create a profile where all of their travels are tracked in one place. They can also add each other as friends and see one another's trips and itineraries, making it easy to share travel plans.
How we built it
We had a "kickoff" meeting on Thursday to discuss all the necessary tasks and break up the work. We checked in daily on Zoom and were active messaging each other throughout the weekend. There were times when each of us was struggling with something and the other person was able to help resolve the issue, which was great. As far as technology, we used Express for the backend, React for the front end, and AWS for database hosting. We shared the project GitHub Repo and only minor issues with merge conflicts.
Challenges we ran into
There were a few features we weren't able to add to the site either because of time constraints or because they were more difficult than initially anticipated. We weren't able to add photo uploads or a space for video reviews, both of which were features we had initially planned for. We also ran out of time to actually deploy the site. A hurdle that we successfully managed to overcome was passing state between pages and components without introducing too much complexity.
Accomplishments that we're proud of
We built a working website in 3 days! Both of us had built a web app for CIS5500, but we had almost the whole semester for those projects, whereas we build this in a single weekend. The backend complexity of our CIS5500 projects was much greater, but this project gave us the opportunity to do more with React on the front end, which was cool to learn.
What we learned
Building a website is hard! We gained a new appreciation for how challenging it is to build a truly functioning, well-designed web application. We also learned that planning ahead can save a lot of trouble--given how short of a time period this was, it was tempting to just start coding. However any time we did that we tended to run into problems, and whenever we sat down to plan out what we were going to do, things worked out more smoothly. We also got some more experience working with React, leaflet, and other libraries.
What's next for iTinerary
First of all, deploying it. We put a lot of work into it and we'd like to have it live for people to experience it. We'd like to eventually implement the photo and video uploading that was mentioned above. There are also many minor cosmetic improvements to the site and the code that we would like to get to.
Log in or sign up for Devpost to join the conversation.