Skip to content
Merged

Docs #117

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- In-app "Suggest a place" flow: a public, no-account form (`suggest-place-dialog.tsx`, launched from `MapPanel`) that opens a pre-filled GitHub issue, lowering the contribution barrier below forking the repo without touching the existing PR review process.
- `data/places.schema.json`: a real JSON Schema for the place record. `scripts/validate-places.mjs` now derives its valid types, required fields, coordinate bounds, and `gmaps_link` pattern from it instead of a second hardcoded copy, and flags any field not declared in the schema.
- 10 new `/docs` pages, each cross-linking instead of duplicating: `calendar`, `troubleshooting`, `map-controls`, `data-sources`, `faq`, `install`, `self-hosting` (hand-authored guides), plus `changelog` (`src/lib/changelog.ts` parses `CHANGELOG.md` directly instead of hand-copying it), `data-format` (reads `data/places.schema.json` directly), and `architecture` (renders `ARCHITECTURE.md` live via a new `react-markdown` + `remark-gfm` dependency, finally putting the previously-unused `mdxComponents` map to work).
- 3 new `/docs` pages (`awesome-student-resources`, `awesome-study-resources`, `awesome-skills-plugins`) that fetch and render the StudentSuite awesome-list READMEs at request time with a 24h ISR revalidate window, plus a search box and section-count filter chips once a list crosses ~100 entries.

### Changed

Expand All @@ -19,10 +21,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `CODE_OF_CONDUCT.md`: replaced generic boilerplate with the Contributor Covenant v2.1, naming `studentsuite3@gmail.com` as the reporting contact.
- Contact email updated to `studentsuite3@gmail.com` across `CODE_OF_CONDUCT.md`, `CONTRIBUTING.md`, `SECURITY.md`, `docs/TROUBLESHOOTING.md`, and the GitHub issue templates.
- `/about`: maintainer attribution corrected from an individual contributor to StudentSuite.
- `README.md`: the stale, hand-maintained "Architecture" folder tree (still listing 9 retired place types) replaced with a pointer to `/docs/architecture` and `ARCHITECTURE.md`.

### Fixed

- `data/places/sat_centre.json`: normalized 225 ALL-CAPS `city` values (e.g. `"SALISBURY"` -> `"salisbury"`) left over from a bulk CEEB import, which were cluttering the map's city filter dropdown.
- Reinstalled `@vercel/analytics`: it was added via an automated Vercel PR, then reverted 11 minutes later with no stated reason, silently removing Web Analytics from the site ever since.
- 3 remaining `contact@thestudentsuite.com` addresses (footer, `/about`, `/contribute`) that an earlier pass missed, updated to `studentsuite3@gmail.com`.
- Awesome-list pages: table no longer silently clips on narrow viewports (was `overflow-hidden` with auto layout; switched to `table-fixed` with explicit column widths and an `overflow-x-auto` safety net), and filter chips with long labels no longer wrap mid-word (now a horizontally scrollable row).

## [2.3.0] - 2026-07-27

Expand Down
48 changes: 10 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ A crowdsourced map of student-important places across the Mumbai Metropolitan Re

## What it does

- **Places map**: find exam centres, libraries, book shops, stationery, internet cafes, train stations, and airports across the MMR. Filter by type and city.
- **Contribute**: add places or fix data via GitHub pull request. No account needed.
- **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](https://studyymap.com/docs).
- **Legal**: privacy policy, terms of service, and data disclaimer for the crowdsourced dataset.

## Quick start
Expand Down Expand Up @@ -41,40 +42,10 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for full guidelines.

## Architecture

```
studymap.config.ts # region + dataset config - the one file a fork edits to retarget StudyMap
src/
app/
page.tsx # homepage (hero + map preview)
map/page.tsx # full interactive map
calendar/ # public exam calendar + signed-in personal events
login/ # optional sign-in (Google OAuth, email)
auth/callback/ # OAuth code exchange
contribute/page.tsx # contribution guide
legal/ # privacy, terms, disclaimer
layout.tsx # root layout (navbar, footer, theme)
components/
home/ # Hero, MapPreview
map/ # PlacesMap, MapView, MapPanel, MyPlacesPanel, dialogs
calendar/ # PersonalEventDialog
pins/ # PinPopup
layout/ # Navbar, Footer
lib/
places.ts # getPlaces(), filterPlaces(), getCities() - reads from studymap.config.ts
geo.ts # distance calculation, LatLng type
types.ts # PlaceType, City, Place interface
map.ts # PLACE_TYPE_COLORS, directionsUrl
share.ts # URL state encode/decode for shareable links
site.ts # site metadata, navLinks
user-places.ts # saved places + home location (signed-in only)
user-events.ts # personal calendar events (signed-in only)
data/
places/ # 9 JSON files, one per place type
supabase/
migrations/ # SQL for the two optional, sign-in-gated tables (run once by hand)
```

See [ARCHITECTURE.md](ARCHITECTURE.md) for the full breakdown.
The folder layout, data flow, and key modules are documented once in
[ARCHITECTURE.md](ARCHITECTURE.md) (also rendered live at
[/docs/architecture](https://studyymap.com/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

Expand All @@ -87,8 +58,9 @@ See [ARCHITECTURE.md](ARCHITECTURE.md) for the full breakdown.
## Running your own fork

Want StudyMap for a different city? Click "Use this template" above, then follow
[SELF-HOSTING.md](SELF-HOSTING.md): set your region and dataset in one config file, optionally
wire up your own Supabase project for sign-in, and deploy.
[SELF-HOSTING.md](SELF-HOSTING.md) (also at [/docs/self-hosting](https://studyymap.com/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

Expand Down
Loading
Loading