Week 5: Blockers

According to the Trello tasks, my team split into two groups: the landing page group and the Lineup group. 

Landing Page

In better integrating our python server with our landing page, we established the connection between landing page and server via XML HTTP Request and Response. This functionality would allow for user picked dataset on the landing page to be processed by the server to be later displayed in Lineup. 

Furthermore, we universalized font, and established a color scheme to follow.


My task was to work on implementing the other end of the functionality described in the Landing Page section: given a dataset to display, have Lineup display it.

In attempting to establish a two way connection between Lineup and our Server, we decided to call Lineup through our Server. However, because Lineup is a TypeScript tool, and our server is written in Python, there were some changes to the imports within HTML files of the TypeScript files that needed to be done. In cleaning up imports, I found a GET request coming in from the index.html asking for a dataset. Giving the default dataset, displayed it on the web browser. 

Assuming we can pass in any dataset as a response to this GET request, we can display whatever dataset we pick. Success! Or so we thought...

Unfortunately,  Lineup Demo code had hardcoded functionality of data display in Lineup, in other words, the only dataset that would work for that GET request would be the dataset for countries. Therefore, in order to make the choice of the displayed data dynamic, Lineup code needed to be changed. And, this is one of the functionality that we were able to achieve: the ability to modify the Lineup Demo code, recompile it, and see those changes. And this is where the problems hit.

In trying to understand Lineup code, we found a possible bug. In trying to fix a bug, other parts of the program broke. In the end, we were too unfamiliar with Lineup to try to manipulate it to do what we wanted it to do.


We came up with two solutions:

  • Rewrite the Lineup Demo code to have it, from the very start, work with our existing server
  • Create a wrapper around the Lineup Demo code that would listen to our server's requests and call appropriate functions in Lineup
In advising with our advisor, we concluded that the Lineup Demo code needed to be rewritten. We split off our team once more: Lineup and MyRanker. 


Popular posts from this blog

Week 31: Fair Ranking Search

Week 32: Datasets

Week 26: Finishing the Paper