nusmodifications / nusmodifications/nusmods

Venue location enhancement roadmap

Open
#745 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement venues page
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.