Giter Club home page Giter Club logo

coursereviews's Introduction

Course Reviews Build Status

The student-run course reviews platform for Middlebury College powering MiddCourses.

Features

  • Anonymous review process
  • Aggregated reviews for courses and professors
  • Automated process to add courses and professors
  • Comment voting and flagging
  • Professor accounts with limited access

Team

Authors

coursereviews's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coursereviews's Issues

Add more options to review form

Primary components:

  • Problem sets

Why was this course valuable:

  • The coursework
  • Real world application
  • This course was not valuable.

Change password

/password/change provides a form, but using it causes a 500 error.

Also there is no link directing users to this page.

Course and Professor Rankings

A page that displays course and professor rankings lists based on understandable combinations of review features.

E.g. "Easiest courses", which lists the courses which require the least amount of work outside class each week and the most generous grading.

A course/professor score should take into account the number of reviews it has, and on a feature level, the standard deviation of the average feature value. The first is so that the course with a single review that says it's super easy does not trump the course with 100 reviews that say it's pretty easy. The second is to balance the first, so that a course with a few reviews but a lot of consensus is not completely upstaged by the course with a lot of reviews.

The page will probably need to be generated and cached every X minutes. Generating it will probably be pretty processor intensive, so I would delegate the task to a worker dyno to avoid hogging a web dyno every X minutes.

Let's come up with a ranking algorithm and the lists we want, along with the review features that will factor into them.

Redesign logged in index

Loads way too slow because of all the courses and professors. We should show less general content and more user specific content.

Sort review questions

Review pages should list the questions in the same order as the new review form lists them. Professor evaluation (1-5) questions should be subclassed as such.

Comment Flagging

Users should be able to flag comments. Reviews with flagged comments will not appear on the general site until they have been unflagged by an administrator.

Catalog page

Instead of showing the catalog on the homepage, there should be a different catalog page broken down by department.

Reformat browse page

It would be nice to visually separate the professors from the courses on the browse page by putting the courses in a column on the left and the profs in a column on the right within each department. That way you wouldn't have orient yourself as much when scrolling to a department.

Clarify link on /course page

On the course detail page, we show a list of professors that the current course is taught by. Clicking on one takes you to the prof_course detail page for your current course and the clicked professor. This could be confusing, because one might expect clicking a professor link to take you to the professor's detail page (regardless of the course being viewed). This is weird ui bug because the expected functionality conflicts with the most useful and practical functionality... most of the time you view a course page you want to drill down to a specific professor.

I'm not sure what the fix should be, but I have some ideas. One might be adding a typing dropdown box with professor names that changes the window's location on selection. The drop down would be labeled filter reviews by professor.

Another would be to have a professor badge card that shows up for each professor with a link to their detail page and another link that says 'see reviews for MATH340 with Steve Abbott'.

Professor Accounts

Professor or faculty members should be able to create limited accounts:

  • Cannot create reviews
  • Can only view reviews for their own courses

Quota Page

Quota page should appear on top of browse page instead of on its own.

Professors can see reviews of other professors who teach the same class

Professors see the same course pages a regular user sees, only they just see ones they teach. This means they can see all the comments for other professors who teach the same course. We can fix this by only selecting ProfCourses that reference the course AND the viewing professor, rather than just the course.

Save reviews faster

Users are reloading or resubmitting the review form before the redirect loads. They see a 500 error because the review is already submitted. If the redirect (right now 'index') loaded faster this wouldn't happen.

Number of reviews badge

The user experiences some disappointment when clicking a professor or course from the browse page only to see that the object has no reviews. We could prevent this by putting a badge by the links to professor/course detail pages which would indicate how many reviews that course or professor had. No badge would be present if the object has no reviews. This would greatly increase the computation cost of rendering the browse page, and so to implement this at scale we might need to enable caching.

User review page

Page where users can see all their reviews to update/delete them.

Header Include

A header with small buttons for login/logout, typeahead search, user page. Probably a dropdown/flyout.

Comment Voting

Students can vote on comments and comments will be sorted by upvotes - downvotes.

Activation redirect failing

When a user tries to activate an account, activate is getting called twice. The first time the user is correctly activated. The second time, the activation fails as the user has already been activated.

Scrape from XML feed

Change "Write a review" to "Fill out a review"

We want to encourage people to quickly enter their boring reviews to temper the extreme ones, but the word "write" suggests a commitment to enter a comment. I was thinking we'd change the wording throughout the site to "fill out" which seems a bit easier. Next to the button on the browse page we might put a little bit of small muted text that says "It'll take 30 seconds."

Order new review ProfCourse options by course code

Makes the courses easier to find if a user is scrolling through. Some users think the course isn't in the database when they scroll to the first instance a department appears without searching. The rest of the department is actually lower in the list because we enter courses by semester.

Make comments optional

Comments shouldn't be required.

comment = model.TextField(..., null=True, blank=True)

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.