An interactive web map that helps students find affordable apartments in major Polish cities: KrakΓ³w, Warsaw, and WrocΕaw.
The project is fully responsive and powered by open map technologies and Google Sheets as a backend.
- π― View listings directly on the map using colorful markers based on apartment type
- π Click on a marker to view apartment details: price, photo, description, and link to offer
- π Live data updates directly from a Google Sheet (no database needed)
- π¨ Custom design for desktop and mobile β different backgrounds and layout
- πΊοΈ Toggleable legend on mobile, collapsible info panel
- β SEO meta description + favicon
- π© Contact section & feedback form
- π§ Custom marker colors and dynamic layer styling
- HTML + CSS + vanilla JavaScript
- MapLibre GL JS for open-source interactive maps
- OpenFreeMap for map tile styling
- Google Sheets as a CMS-like backend
- opensheet.elk.sh API to pull spreadsheet data as JSON
This project was created from scratch based on a real need: to help students easily browse and compare apartments visually on a map.
The goal was to build a city selector β map viewer β apartment details experience in the most minimal, no-framework way.
- Used
MapLibre GL JSto render the vector map - Integrated OpenFreeMap for free, visually appealing tile styles
- Configured OpenFreeMapβs bright theme
- Points are rendered using
map.addLayer()with a"circle"layer - Color-coded each marker dynamically using
["match", ["get", "typ"], ...] - Marker colors:
- π΄
kawalerka: red - π’
2-pokojowe: green - π΅
3-pokojowe: blue - π£
4-pokojowe: purple
- π΄
- Apartment data is added manually in a Google Sheet
- Accessed via
https://opensheet.elk.sh/{sheetID}/{tabName} - Auto-refreshed every 15 seconds using
setInterval(fetchData, 15000)
Two separate layouts:
- Desktop: full map, sidebar, legend
- Mobile: custom skyscraper background, floating billboard interface
Interactive elements:
- π Legend toggle
- βΉοΈ Instruction popup with dismiss button
- π¨ Contact panel in the bottom corner
- π οΈ βReport Listingβ button per apartment
- SEO-optimized (
<meta name="description">) - Includes favicon and mobile-friendly backgrounds
- Ready to host statically (e.g. GitHub Pages, Netlify)
Made with π» by AroGoat
π§ Email: zenekorgin@gmail.com