Inspiration

I have always been a big fan of geography and history, so meshing the two together seemed like a fun challenge. I think geography and history interplay so much, and by visualizing historical events both by date and by region, as well providing users with additional information to research more on their own, allows them to discover trends and make their own conclusions on how geography can affect so many aspects of politics, economics, etc.

What it does

HistoryMaps allows users to select a range of event types such as historical battles, famous deaths, key movements in history, amongst others, as well as set a range of years to view different eras of time.

How we built it

This application is a cloud hosted fullstack application. The frontend is a utilizing Next.js to build a JavaScript based React application, which makes RESTful calls to a Spring Boot backend service that models the data for all the geographical objects that are stored in a PostreSQL database. The entire app is hosted on AWS Amplify.

Challenges we ran into

Populating the map with a large number of events was my next plan of action, but due to time constraints I was unable to find an efficient way to parse many historical events that all had coordinates and years associated with them. Doing this manually was not super easy, and in future, I will probably write some webscraping script or utilize an LLM to make this more convenient.

Accomplishments that we're proud of

Getting the application successfully hosted online and having a working, ableit, minimal product to allow users to test the fundamental concepts of the application.

What we learned

This was my first time doing a fullstack application as well as my first time hosting an application that required a backend service and database connection.

What's next for HistoryMaps

This current implementation is clearly a minimal viable product, in the future I plan to add a lot to this application. A few things I plan on doing once I rebuild this is:

  • Rewriting in TypeScript (currently JavaScript)
  • Adding prettier UI (Framer motion animations and generally nicer aesthetics)
  • Adding considerably more events to visualize
  • Adding a login functionality with some more interactive features
  • Providing more visualizations beyond just year and event, such as weather patterns, economic standings, and any other variables I feel may allow users to make more educated conclusions and explorations

Built With

Share this project:

Updates