nusmodifications / nusmodifications/nusmods
Venue location enhancement roadmap
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 689
- Forks
- 364
- Avg merge
- 7h 5m
- Merged PRs (30d)
- 14
Description
This is a meta issue tracking the enhancement of the venues page with location data, and possibly bus routing data. Follows up on #654.
API
- Finalize GraphQL API schema for enhanced venues
- Integrate the prototype venue location data scraper with existing venue scraper
- Find a way to store user inputs from the venue location feedback box (see below)
- Implement some sort of NUSMods venue/NUS room matcher override. Reasons:
- NUS's fuzzy matcher can produce bad results, e.g. LT10 is matched to a female toilet
- Some venue names are so dissimilar from their room codes that the fuzzy matcher can't match them
- Implement a custom location datasource, so that we can use user-provided locations. These locations won't need to be matched to NUS's data.
Client
- Display room names and actual NUS room codes
- Display map in venue detail view
- Beta notice and feedback box to allow users to correct wrong venue names/room codes/locations
- A way to select venues on a map instead of scrolling through a list. We need a way to handle venues with no GPS coords in this case.
Bus feature
This concept has to be further baked before implementation. It may even be better implemented as a separate mobile app instead of integrating it with NUSMods proper. Bus routes and timings can be obtained from a Comfort API.
- Nearest bus stop feature
- Bus routing between venues. https://gothere.sg might be useful
- Directions to the next class (perfect for a Today view)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the follow-up issue #654, the existing venue scraper, and the linked NUSVenues prototype. Review the unchecked API, client, and bus-feature items to determine their scope; the issue does not define a single entry point or what completion would look like.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, javascript, react, typescript
- Domain
- api, backend, frontend, full-stack, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100