This project is in the High School Domestic Travel Track. This project was created by team MinusOne.
Inspiration
We were inspired by our desires to save and treasure our travels abroad! We realized that we all liked taking photos during our trips, but that it was hard to keep all of those treasured photos organized and document our best experiences in the heat of exciting trips. For this we created MyJourney! A web app designed to streamline the travel journaling experience so that those memories can last a lifetime!
What it does
MyJourney creates a streamlined process for taking journals and keeping track of your travels! After an account to ensure that only people you want can see travels, you open up to the dashboard: the streamlined portal to travel documentation which gives you the ability to create journeys, add people, save locations, and much more with the push of a button!
How we built it
We built it on top of the webpy-framework (a flavor of flask built by one of our team members) to build the web app. On the backend we used SQLAlchemy to store all the entries into a database and PropelAuth for authentications and accounts. Furthermore by building a custom-made api to facilitate smooth backend-frontend interaction we were able to create the smooth and dynamic capabilities of MyJournal.
Generally, in MyJournal, the frontend obtains authentication information from PropelAuth, which it uses to query the backend. Then, client-side JavaScript dynamically builds the whole site using the information obtained via the API requests to the backend.
Challenges we ran into
We struggled with frontend initially, as on the first day of the competition our expert in frontend told us he couldn’t work on the project on the first day of the competition (hence our name, MinusOne lol). So, we had even more to get done than expected. Through some research, we came out with a frontend that we are happy with.
Additionally, one of our team members (Carl) was in a different time zone (CET) as he was on vacation, so it was difficult to coordinate times with the team and we often had to stay up late or wake up early to meet and coordinate with each other. However, using source control like Git helped us a lot, because it meant that not everyone had to be online at the same time to code.
Accomplishments that we're proud of
We are proud of working hard and creating an api-fueled backend! We worked with Google Account integration and SQLAlchemy for a robust database, and we were able to integrate the Google Maps API to make functionality intuitive. Seeing all of those components work together after just learning them the same day was very exciting!
What we learned
In the backend, we learned how to integrate various different technologies well, combining a custom web framework (WebPy-Framework), a SQLite database, a third-party authentication system, and packaging everything for deployment to render.
What's next for MyJourney
MyJourney is still budding and has not nearly realized its full potential. We started to demonstrate what the feed can be but MyJourney can scale up from a personal documentation web app into a full blown travel social media where people can share thor travels, what places they liked, cool tourist experiences which will all feed into recommendations for making your current trip more fun and for possible future adventures. MyJourney can even use the data of what places you enjoyed most and who you were with to facilitate and suggest group oriented events to keep the memories coming! Furthermore on the most intrinsic feature: journaling, we can add an opt-in daily reminder or locational reminders to help you remember to write a log or take a photo at certain times of the day or when you are at interesting locations. Ultimately, MyJourney has great potential to transcend its state as a travel documentation app and become a memory making gateway.
Recommendations for new trips from past trips Share with others? Social media? Suggestions on when to add a journal entry
Code can be found on GitHub
Presentation can be found on Google Drive
Try it out online
Built With
- flask
- google-maps
- propelauth
- render
- sqlite
- webpy-framework
Log in or sign up for Devpost to join the conversation.