ucsb-cs56-w20 / ucsb-courses-search

Spring Boot App to show similar information to that found at UCSB Curriculum Search page
https://ucsb-courses-search.herokuapp.com
2 stars 5 forks source link

EPIC: Search by Instructor #22

Open pconrad opened 4 years ago

pconrad commented 4 years ago

All routes for this epic should be under /instructor/, e.g. instructor/search, instructor/multiqtrsearch, etc. The exact naming of routes is left up to the team, but it would be good to consult on the slack about it so that there is some consistency across the application.

First step: can only search for courses by an instructor in a specific quarter. A search that is ambiguous (e.g. WANG) returns all courses in that quarter that have WANG as a substring.

pconrad commented 4 years ago

Second step: On a different page, same as first, but add disambiguation. Note that, for example for Fall 2019, just for CMPSC alone, there are several different professors and several different TAs responsible for sections, all with the last name WANG.

So if the search results have multiple matching instructors, show all of the matches first, along with the dept/num/title of up to three example courses taught by that instructor. Note that lectures and sections should be differentiated.

Let the user choose which specific instructor they meant, and then return only the courses for that specific instructor. (e.g. choose among "WANG R K", "WANG YUXIANG", "WANG Y F", "WANG Y W", "WANG F", "WANG H", etc.)

If the selected instructor is teaching a lecture, show the lecture and all sections for that lecture.

If the selected instructor is a TA, show the section the TA is teaching, plus show the lecture that goes with that section.

pconrad commented 4 years ago

Third step: Allow searching for instructor across a range of quarters.

Allow users to specify a start quarter and an end quarter.

Note that this requires multiple calls to the API (one per quarter), then combining the results into a single Java object (an Iterable<>) in the model that can be displayed in the view.

pconrad commented 4 years ago

You may also think of other ways to search. If so, add those as comments on this issue, or as separate issues once your team is assigned its own Kanban board.