A crowdsourced map of student-important places across the Mumbai Metropolitan Region (Mumbai, Thane, Navi Mumbai). Open source, zero setup, free forever.
Live: studyymap.com
- Places map: find libraries, SAT centres, foreign language exam centres, government offices, airports, and other student-relevant places. Filter by type and city. SAT and foreign language centres already span several countries; other categories currently have the most coverage in India.
- Contribute: add places or fix data via a GitHub pull request or issue, or the in-app "Suggest a place" button on the map - no account needed either way.
- Docs: guides covering the map, calendar, contributing, self-hosting, and more at /docs.
- Legal: privacy policy, terms of service, and data disclaimer for the crowdsourced dataset.
npm install
npm run devOpen http://localhost:3000. No environment variables needed; the map reads place data via studymap.config.ts, which imports it from data/places/.
Places live in data/places/<type>.json, one file per category. The record shape,
valid types, and per-field rules are documented once in
data/CONTRIBUTING.md and enforced by
data/places.schema.json via npm run validate -
that pair is the source of truth, not this README.
- Fork this repo
- Add your place to the correct
data/places/<type>.json - Verify
lat/lngagainst Google Maps - Set
gmaps_linkto the Google Maps link - Open a pull request with a description of the place and a source
See CONTRIBUTING.md for full guidelines.
The folder layout, data flow, and key modules are documented once in ARCHITECTURE.md (also rendered live at /docs/architecture) - not duplicated here, so this README can't drift from the real thing the way its old copy of the folder tree did.
- Next.js 16 (App Router)
- Leaflet + react-leaflet (interactive map, marker clustering)
- Supabase (optional sign-in, gates saved places + personal calendar events)
- shadcn/ui + Tailwind v4 (UI components)
- next-themes (dark/light mode)
Want StudyMap for a different city? Click "Use this template" above, then follow SELF-HOSTING.md (also at /docs/self-hosting): set your region and dataset in one config file, optionally wire up your own Supabase project for sign-in, and deploy.
See CONTRIBUTING.md.
New here? Start with an issue tagged good first issue or browse everything tagged help wanted. Adding a place from your own neighbourhood (#18) needs no coding at all.
See CONTRIBUTORS.md.
MIT. See LICENSE.