Inspiration
In the wake of the Covid-19 pandemic, many have been travelling all around the world having new discoveries and experiences. As a traveller yourself you might have difficulty recalling personalised travel recommendations from friends and family, whether they were hidden gems not available on google or recommendations that you forgot the location of entirely. To address this issue we created Journaly, a place to hold all these experiences and discoveries on a map for yourself or friends to look back on. Journaly remembers what you would forget.
What it does
Journaly allows for users to connect with others to learn about places visited and their recommendations, enabling users to enhance their future travel plans.
With Journaly, users are given their own map to annotate with "memories". These memories appear as markers on the user's map, and can have associated images and journal entries to immortalise their experiences. Journaly gives you an organised way to save your experiences to a place. With your personal map, you have the ability to add your friends or family, allowing you to share your precious memories and merge your maps together. This visibility can be toggled on or off depending on whose memories you would like to see in your current view.
A map of the world is quite a large area to cover, so viewing all your memories in a menu is another feature of this application where you can redirect to that specific memory you have pinned to the map.
How we built it
The front-end of Journaly is built with React Native. This was chosen as it is a well established UI framework for native mobile applications, with a wide range of available packages. To present the map and allow for interactions, the React Mapbox API was utilised for the pinning and navigation of locations.
In regards to the back-end, Journaly will use MongoDB to store user data, such as their login credentials, user connections and links to their images and drawings. Image and Drawing links will point to the Images and Drawings that are stored on Amazon's S3.
Challenges we ran into
At the beginning of the hackathon we looked at completing this as a web application as many of us had prior knowledge of how to create one but realised that the concept we were building towards needed more of a native application on your personal mobile device to function. So the challenge we faced was understanding how to change our system to run on a mobile device and what frameworks, services and APIs we could use to create a solution.
Another challenge was using Mapbox to create an interactive application for the user to use and view memories on as none of us had used Mapbox before.
Accomplishments that we're proud of
- We are proud of our progress from the beginning of the hackathon to the end, as we were unsure of how to turn our idea into a solution but slowly worked on it together to create a simple bare bones working product and multiple concept prototypes.
- Another accomplishment we are proud of is coming up with a well written pitch about our product which had improved exponentially as we further understood the exact product we were building
What we learned
- We learnt a lot about how map APIs worked for the features we wanted, such as drawing and adding memories to locations.
- Even though it didn't end up in our final product, we learnt Leaflet and how to implement our features using layers, events, and other tools
- React Native was something quite new to all of us and we all learnt how to create an application with this framework which would be useful for either future development or other projects we may implement in the future.
- With Mapbox API, we learnt to use geolocational data to map user locations along with marking memories on a map within our products.
What's next for Journaly
Currently in Journaly our features are fairly limited as you are only able to view and add memories to the map. Further map interactions we would like to add is the ability to draw our travel paths on the map, joining points of interests with each other. With addition to that, we would also incorporate filtering of memories with tags that would determine which memories show such as Food, Sight-seeing or Activities, which would increase usability
Log in or sign up for Devpost to join the conversation.