Inspiration
We were inspired to create Plotted Memories by the concept of BeReal and Google Maps Tracking feature which keeps track of every where you have been. We incorporated the theme of nostalgia in our project through 2 ways. The first one being literal in looking back at past fun experiences. The second way is thought the UI of the app which is modeled to look like Windows XP on the login/registration screen and like MS Paint on the home page.
What it does
Our website lets you put a pin on places you visited, with the continuing a picture of the day and a short caption of what you did. This helps you remember what you places and memories with your friends and family. It is like a family album where you a look fondly over past experiences.
How We built it
We used python, specifically flask to create the web app. We used bootstrap for our regular css needs and to help us recreate the Windows XP look we used XP.css. We used Cohere to parse through user input text to determine location which then got fed to geopy to give us a latitude and longitude. The latitude and longitude was used to put a pin down on a map made by Leaflet. To store images in a more convenient way we converted them to base 64 and then stored these images, coordinates and caption in a SQLAlchemy database. Then from the database we run an if loop that checks if the current signed in user id matches the id of the user that uploaded the image and if it does we put a pin on the map with the image and caption. Our sign in is also handled by the session feature of flask.
Challenges we ran into
The first challenge we ran into was kind of brainstorming ideas.Our second slight problem was designing a retro but smooth UI as all 3 of our team members were back end developers. But we perceived and each took turns working on small parts of the front end which eventually let us all improve our front end web dev skills and get better at creating good UI's. The second big hurdle we ran into was learning to use flask and SQLAlchemy database. We did not have much experience with SQL so we had to figure out through documentation and video on how we would be able to use SQL and get it to not only take in our user data but also handle user authentication. We also had an issue with how we would deal with images as they would take up a lot of storage space and it would not be easily scalable so we came up with he conversion to base 64 to make it easier for us.
Accomplishments that we are proud of
We are proud that as a group of 3 we invested a lot of time and did our best to get a working project. We accomplished a really nice retro look to all 3 pages of our app that pay respect to older versions of Microsoft and Microsoft Paint. We learned how to use SQL and deploy and write to and read from a SQL server. Also the nice conversion of images to base 64 improved the scalability of our website.
What we learned
We got a learn more about a SQL which is helpful for future projects and using it for authentication of our web apps. We also learned about how to design a better front end using bootstrap.
What's next for Plotted Memories
We would migrate from using a relational database to using OAuth2 for increased security. We would also potentially switch to a 3d view of the globe instead of a 2d representation to allow for a more interactive experience. Also we would want to potentially allow users to add multiple images/videos for places they visit. We also would like to include some kind of Spotify wrapped esque feature that uses Cohere to parse through and generate a report about where all the user has been throughout the year and what all they have done.
Log in or sign up for Devpost to join the conversation.