{"id":51180819,"url":"https://github.com/studentsuite/studymap","last_synced_at":"2026-06-27T07:00:34.312Z","repository":{"id":363795307,"uuid":"1262795779","full_name":"StudentSuite/StudyMap","owner":"StudentSuite","description":"An open-source interactive map of student important places near Mumbai. Filter by category, region, and access places near you.","archived":false,"fork":false,"pushed_at":"2026-06-26T05:26:41.000Z","size":5634,"stargazers_count":8,"open_issues_count":27,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T06:24:08.646Z","etag":null,"topics":["exam-prep","leaflet","map","mumbai","navimumbai","opensourceforgood","openstreetmap","student-managed"],"latest_commit_sha":null,"homepage":"https://study-map-psi.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StudentSuite.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-08T10:27:00.000Z","updated_at":"2026-06-26T05:26:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/StudentSuite/StudyMap","commit_stats":null,"previous_names":["anaydhawan/studymap","studentsuite/studymap"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/StudentSuite/StudyMap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudentSuite%2FStudyMap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudentSuite%2FStudyMap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudentSuite%2FStudyMap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudentSuite%2FStudyMap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StudentSuite","download_url":"https://codeload.github.com/StudentSuite/StudyMap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StudentSuite%2FStudyMap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34844346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exam-prep","leaflet","map","mumbai","navimumbai","opensourceforgood","openstreetmap","student-managed"],"created_at":"2026-06-27T07:00:24.366Z","updated_at":"2026-06-27T07:00:34.265Z","avatar_url":"https://github.com/StudentSuite.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StudyMap\n\nA crowdsourced map of student-important places across the Mumbai Metropolitan Region (Mumbai, Thane, Navi Mumbai). Open source, zero setup, free forever.\n\n**Live:** [study-map-psi.vercel.app](https://study-map-psi.vercel.app)  \n\n---\n\n## What it does\n\n- **Places map**: find exam centres, libraries, book shops, stationery, internet cafes, train stations, and airports across the MMR. Filter by type and city.\n- **Contribute**: add places or fix data via GitHub pull request. No account needed.\n- **Legal**: privacy policy, terms of service, and data disclaimer for the crowdsourced dataset.\n\n## Quick start\n\n```bash\nnpm install\nnpm run dev\n```\n\nOpen http://localhost:3000. No environment variables needed; the map reads place data directly from `data/places/`.\n\n## Data schema\n\nPlaces live in `data/places/\u003ctype\u003e.json`, one file per category:\n\n| File | Type key |\n|------|----------|\n| `airport.json` | `airport` |\n| `train_station.json` | `train_station` |\n| `exam_centre.json` | `exam_centre` |\n| `library.json` | `library` |\n| `book_shop.json` | `book_shop` |\n| `stationery.json` | `stationery` |\n| `internet_cafe.json` | `internet_cafe` |\n| `imp_locations.json` | `imp_locations` |\n\nEach record shape (`src/lib/types.ts`):\n\n```ts\n{\n  id: string;          // kebab-case, unique across all types\n  name: string;\n  type: PlaceType;     // one of the 8 keys above\n  city: \"mumbai\" | \"thane\" | \"navi_mumbai\";\n  lat: number;\n  lng: number;\n  address?: string;\n  gmaps_link: string;  // must contain \"maps.google.com\"\n  added_by: string;    // GitHub username of contributor\n}\n```\n\n## How to add a place\n\n1. Fork this repo\n2. Add your place to the correct `data/places/\u003ctype\u003e.json`\n3. Verify `lat`/`lng` against Google Maps; `lat` 18–20, `lng` 72–73\n4. Set `gmaps_link` to the Google Maps link\n5. Open a pull request with a description of the place and a source\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for full guidelines.\n\n## Architecture\n\n```\nsrc/\n  app/\n    page.tsx            # homepage (hero + map preview)\n    map/page.tsx        # full interactive map\n    contribute/page.tsx # contribution guide\n    legal/              # privacy, terms, disclaimer\n    layout.tsx          # root layout (navbar, footer, theme)\n  components/\n    home/               # Hero, MapPreview\n    map/                # PlacesMap, MapView, FilterPanel, NearMeButton\n    pins/               # PinPopup\n    layout/             # Navbar, Footer\n  lib/\n    places.ts           # getPlaces(), filterPlaces(), city loader\n    geo.ts              # distance calculation, LatLng type\n    types.ts            # PlaceType, City, Place interface\n    map.ts              # PLACE_TYPE_COLORS, directionsUrl\n    share.ts            # URL state encode/decode for shareable links\n    site.ts             # site metadata, navLinks\ndata/\n  places/               # 8 JSON files, one per place type\n```\n\n## Tech stack\n\n- **Next.js 16** (App Router, static export)\n- **Leaflet + react-leaflet** (interactive map)\n- **shadcn/ui + Tailwind v4** (UI components)\n- **next-themes** (dark/light mode)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudentsuite%2Fstudymap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstudentsuite%2Fstudymap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudentsuite%2Fstudymap/lists"}