Skip to content

geeksforsocialchange/HulmeHistory

Repository files navigation

Hulme History

An interactive web application exploring the history of Hulme, Manchester through maps and a timeline.

Features

  • Interactive Timeline: Events from 1860s-2010s grouped by decade
  • Historical Map Layers: Hand-traced GeoJSON layers showing Hulme in 1871 and 1990
  • Historical Base Maps: OS maps from 1890s, 1940s, 2014 aerial, and modern tiles
  • Event Details: Markdown content with images, PDFs, and map markers/polygons
  • Archive Browser: Searchable catalogue of URBED's Hulme archive

Tech Stack

  • Framework: Astro 5.x
  • Map Library: MapLibre GL (open-source)
  • Content: Markdown with YAML frontmatter
  • Testing: Vitest

Development

# Install dependencies
npm install

# Start dev server
npm run dev

# Run tests
npm test

# Build for production
npm run build

Project Structure

src/
├── lib/                     # TypeScript modules
│   ├── app.ts               # Main app initialization
│   ├── map-manager.ts       # Map layer and marker handling
│   └── map-config.ts        # Tile sources and era config
├── components/              # Astro components
└── pages/                   # Routes

public/
├── gis/                     # Hand-traced historical GeoJSON layers
└── events/                  # Event content and assets
    └── YYYY-event-slug/
        ├── index.md            # Event content (frontmatter + markdown)
        ├── cover.webp/jpg/png  # Cover image
        ├── file.geojson        # Map marker/polygon
        └── *.jpg/*.pdf         # Gallery items

tests/                       # Vitest test suite

Adding Events

  1. Create public/events/YYYY-event-slug/ folder with:

    • index.md - Event content with frontmatter:

      ---
      start: 1991
      end: 1997 # Optional
      title: "Event Title"
      desc: "Short description"
      author: "contributor" # Optional
      timeline: buildings # buildings | community | news
      ---
      Event content in markdown...
    • cover.webp, cover.jpg, or cover.png - Cover image

    • file.geojson - GeoJSON Point, Polygon, or MultiPolygon for map

    • Additional images and PDFs (appear in gallery)

Map Eras

The slider switches between historical base maps:

  • 1890s: Victorian OS maps (MapTiler)
  • 1940s: Mid-century OS maps (NLS)
  • 2014: ESRI World Imagery Wayback
  • Now: Stamen Toner Lite

Hand-traced GeoJSON layers (1871, 1990) can be toggled independently.

Contributing

We welcome contributions! You can:

  • Submit a pull request with new events or improvements
  • Email kim@gfsc.studio with content or corrections

Credits

  • Project Manager & Code: Kim Foale
  • URBED Coordinator: Emily Crompton
  • Original Developer: Phoebe Queen
  • Maps: Delphine Hollebecq (hand-traced from Manchester Central Library archives)
  • Archive Training: Sylvia Kölling
  • Content: Delphine Hollebecq, Emily Crompton, Kim Foale, Sylvia Kölling

Thanks

  • Archives+ and Manchester City Council
  • URBED
  • Cassowary Project
  • National Library of Scotland (historical tile layers)
  • OpenStreetMap contributors

License

Content and hand-traced maps are original work. See individual assets for licensing.

About

Experimental app to do interactive map-based timelines right.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors