Skip to content
/isaacrosa
All projects

Traveling World Map

An interactive map of the countries, cities and theme parks I've visited.

Tech stack

  • React
  • TypeScript
  • Leaflet
  • Fastify
  • Drizzle ORM
  • PostgreSQL
  • Node.js
Screenshot of Traveling World Map

A Leaflet world map that highlights visited countries and drills through a country to city to theme park to ride hierarchy, with a detail panel per park (photos, favourite coaster and flat ride) and a stats panel totalling countries, cities, parks and coasters. An admin mode adds places and manages the login.

Features

  • Visited countries highlighted on a Leaflet world map, with city and theme-park markers.
  • Hover a country for its city list, a city for photos, a park for its favourite coaster and flat ride.
  • Click any element for a detail panel drilling country → city → theme park → rides.
  • Admin mode (password) adds inline forms to create, edit and delete countries, cities, parks and rides, with a pick-on-map location picker.
  • Stats panel with totals and lists of countries, parks and favourite coasters.

About this project

Visited countries are highlighted on a react-leaflet world map, with city and theme-park markers and a top toolbar. Selecting a park opens a detail panel with photos, the favourite coaster and flat ride, and the full ride list; a stats panel totals countries, cities, theme parks and coasters.

Admin mode adds a country with a been-here or want-to-go status and an optional year, and the login password can be changed from within the app.

The project is an npm workspaces monorepo: a shared package of TypeScript types, a Fastify plus Drizzle plus Postgres REST API, a React map client, and a Vercel function entrypoint that runs the server as a single serverless function.