Git Product home page Git Product logo

layup-list's People

Contributors

cheniel avatar dependabot[bot] avatar jaismith avatar lidatong avatar ziruihao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

layup-list's Issues

Allow recommendations to be ignored

Sometimes users receive recommendations that they will never take. For example, someone who has taken COSC001 will probably not take ENGS020. It would be nice to have the capability to hide recommendations from surfacing on the Recommendations tab.

Search by Professor

I think a common use of LL is not only to browse specific course reviews, but to browse reviews for certain professors across courses. Currently, I know most students simply google a professor's last name followed by "layup list." This usually does the job, but it is far from efficient. The current search feature for courses is very well executed, but I think searching by professor would be a great addition. Glancing at the Course and CourseOffering models, I think I see why the original LL team may not have implemented it, but I think you guys (or we) could figure it out.

Obviously, we first have to fix #17 to consolidate the professor data, but that seems doable.

Also, thank you guys (@jaismith @ziruihao) so much for picking up this project again! It's amazing how long the code has been dormant given the crazy amount of usage.

Migrate away from Python 2

Python 2 reached end of life in 2020. Maintaining a Python 2 codebase for any significant project is and will be increasingly difficult--bugs are not fixed, support is not offered, and new resources will not support this version.

Migrating Layup List away from Python 2 would likely be beneficial for its longevity and maintainability as well as increase development speed for new features and bug fixes.

There are a number of options for languages to which the LL backend could migrate, but Python 3 is the most obvious (and likely best/most frictionless) choice.

Tooltips on median charts

It would be nice to be able to hover over the median charts on the course detail page to see detailed data such as number of sections that term, enrollment, and median for each section.

New timetable data format throws crawling errors

New timetable data format throws crawling errors

Dartmouth has added additional data fields (Period Code) to the courses in the timetable, increasing the column size of the response data. This change also adds new search parameters when querying the timetable: deliveryradio and deliverymode. These fields are not in our HTTPS POST request to the timetable and thus throws incomplete search parameter error.

Convert the professor field on Review from StringField to ForeignKey(Instructor)

Currently we have two sources for professors:

  • Through the professor StringField on Review, populated by review writers.
  • Through Instructor, which has a ManyToMany relationship to CourseOffering and is crawled through the timetable.

We would like to consolidate these two sources by changing professor on Review from StringField to ForeignKey. This will require a data migration.

This will consolidate the queries on the course_detail and course_professors views. ReviewForm will have to be modified as well.

Separate browsing flow tracking

Separate browsing flow tracking

Ensure browsing flow does not span across application use sessions. For example, if I searched for COSC 1 at 1 pm, and then later search COSC 10 at 3 pm, these searches should not be correlated in the entries in BigQuery.

Dockerize dev environment

Rather than the somewhat arcane setup instructions, it would be convenient and more stable to have a Docker container configured for testing layup list locally. This could also be configured to work with Gitpod, which students get for free for some time with the Github student dev pack.

Expectation of 10 medians on ORC page incorrect

assert len(median_page_urls) == 10 # the registrar medians web page always keeps a list links to the past ten academic terms

This line asserts that crawling the medians from the ORC should return results from the last ten terms. Looking at the medians page from March in the Wayback machine, the previous ten terms worth of medians were listed.

Looking at the current page, however, there are only eight medians listed, so the check is throwing an error based on a false negative (it is written to expect the median crawling function to return ten terms, there are only eight this term). I don't know if this reduction in the number of terms with medians available is unique to summer, a permanent change going forward, or specific to 22X. Either way,

  1. There should be some conditionals to guard against times when fewer than ten medians are listed.
  2. I wonder if this is causing issues in prod. Is there logging set up?

Indicate filtering on current_term page

After a filter is selected on the current_term (Layups and Best Classes tabs), the UI does not indicate that there is any filter active. For example, if the filter is set to ART, the dropdown should be set to ART and the title could be 16F Best ART Classes.

Search autocomplete

On both navbar and landing page. Should show a list of relevant course titles.

Activity Page

User's should be able to view classes they have voted on, reviews they have written, and other historical details.

In addition to this, we could add a section which suggests the user reviews courses they have voted on but haven't reviewed.

Server Error (500)

Server Error (500)

27's can't create accounts, everyone gets the same error message: Server Error (500)

Smarter review search

Review search currently only allows single words or phrases. We should support multiple words. For example, when someone searches "difficult hard", we should surface reviews that have either "difficult" or "hard" rather than only those that have "difficult hard" (probably none).

Keep in mind we use review search to surface reviews from a specific professor. Any changes to review search should not break this. We should also make sure the search cannot become too computationally expensive (possibly by limiting the number of words).

Registrar medians index page changed its URL

Registrar medians index page changed its URL

The medians index page changed its URL from https://www.dartmouth.edu/~reg/transcript/medians/ to https://www.dartmouth.edu/reg/transcript/medians/, thus throwing 404 errors in our crawling process.

upgrade to python 3.11+

upgrade python

LL runs on the deprecated heroku-18 stack, which is deprecated and can no longer be built for deployments. This is blocking all LL deployments.

We currently run python 2, which is not supported by any Heroku stacks beyond 18. To unblock deployments, we need to upgrade to python 3 (3.11+).

signup throws 500

signup throws 500

account creation process is broken, clicking 'signup' throws an error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.