nusmodifications / nusmodifications/nusmods

Add Mobility page for ISBs, MRT info

Open
#3,675 5 comments 0 reactions 0 assignees View on GitHub

@kagiura is already working on this.

Since Apr 9, 2024.

  • #3712 by @kagiura — open
taken
Dominant language
JavaScript
Stars
689
Forks
364
Avg merge
7h 5m
Merged PRs (30d)
14

Description

https://github.com/kagiura/nusmods/tree/kagiura/mobility

TODO:
immediate:

  • replace with proxy API url
  • placeholders for when no bus data / no buses left today
  • svc E placeholder (make it show "resumes later today")
  • actually make it register if its term or holiday (in getServiceStatus (src/utils/mobility.ts))
  • update bus schedule
  • button to switch to opposite side stop
  • directional arrows for one way svc
  • optimize: use useCallback/useMemo
  • auto-switch to BTC when needed (and vice versa)
  • fix text font size for selected/focused stop

future:

  • show KR / BG MRT timings too why not
  • make it just use a normal polyline so its easier (?) to update when route changes
  • locate nearby classrooms

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked pull request #3712 and the mobility work referenced in the issue. Read src/utils/mobility.ts first, then compare the remaining TODO items—directional arrows, MRT timings, route polylines, and nearby classrooms—against the current implementation; done means the selected scope is implemented and the mobility page handles its listed states.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react, typescript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.