_project
// project
Marine
An interactive web map for visualizing geographic data and stories about world regions. The project combines cartography, historical/news stories, and interactive points of interest built on Leaflet and Vue 3.
VueTypeScriptPiniaLeaflet

01
what I did
- → Designed a composable-based frontend architecture with Vue 3 + TypeScript
- → Built a responsive UI layout from design mockups
- → Built an interactive Leaflet map with GeoJSON country and water layers
- → Implemented a Google/Yandex Maps-style adaptive label system
- → Developed label collision-avoidance and eased font-size interpolation
- → Created reusable composables and centralized map configuration
- → Integrated oceans-seas.geojson and water-to-region mapping
- → Implemented fetching map points and stories from the API
- → Built the sidebar UI for point details and stories
- → Managed state with Pinia (sidebar, regions, points)
- → Optimized rendering with requestAnimationFrame and zoom caching