Skip to content

Latest commit

 

History

History
79 lines (52 loc) · 3.25 KB

File metadata and controls

79 lines (52 loc) · 3.25 KB

StudyMap

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


What it does

  • 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.

Quick start

npm install
npm run dev

Open http://localhost:3000. No environment variables needed; the map reads place data via studymap.config.ts, which imports it from data/places/.

Data schema

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.

How to add a place

  1. Fork this repo
  2. Add your place to the correct data/places/<type>.json
  3. Verify lat/lng against Google Maps
  4. Set gmaps_link to the Google Maps link
  5. Open a pull request with a description of the place and a source

See CONTRIBUTING.md for full guidelines.

Architecture

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.

Tech stack

  • 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)

Running your own fork

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.

Contributing

See CONTRIBUTING.md.

Good first issues

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.

Contributors

See CONTRIBUTORS.md.

License

MIT. See LICENSE.