coursereviews / coursereviews Goto Github PK
View Code? Open in Web Editor NEWThe Course Reviews core.
Home Page: http://www.middcourses.com
The Course Reviews core.
Home Page: http://www.middcourses.com
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."
It might just be a better idea to redraw the charts. They work at all sizes (i.e. on browser refresh), it's just complicated to resize different attributes.
Loads way too slow because of all the courses and professors. We should show less general content and more user specific content.
Bring us a little closer to the future. โจ
Pretty key to the site. Should be a django-admin command. Well documented, too.
Professor or faculty members should be able to create limited accounts:
Students can vote on comments and comments will be sorted by upvotes - downvotes.
Instead of showing the catalog on the homepage, there should be a different catalog page broken down by department.
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.
It's inconsistent and doesn't work right now.
If a professor doesn't have an email listed, it should render blank instead of "None".
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.
Noticed this when someone flagged a review for being off topic. CPR is associated with Prof. Besser-Jones from the Philosophy department. Should be a quick fix in the database, but the underlying cause is currently unknown.
So there's an XML feed with the courses:
Course sections in Fall 2014 (a.k.a. 201490) as a web page:
http://catalog.middlebury.edu/offerings/search/catalog/catalog%2FMCUG?term=term%2F201490&department=&keywords=&time_start=0&time_end=86400&type[]=genera%3Aoffering%2FLCT&type[]=genera%3Aoffering%2FSEM&search=Search
Course sections in Fall 2014 (a.k.a. 201490) as XML:
http://catalog.middlebury.edu/offerings/searchxml/catalog/catalog%2FMCUG?term=term%2F201490&department=&keywords=&time_start=0&time_end=86400&type[]=genera%3Aoffering%2FLCT&type[]=genera%3Aoffering%2FSEM&search=Search
Should be more sustainable and efficient.
Branding, baby!
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.
Detect professor signup and associate with professor records.
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.
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.
Need to be more readable
Page where users can see all their reviews to update/delete them.
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'.
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.
On professor, course, and prof course pages, display the count of reviews that are shown on that page.
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.
Can only use update
on a QuerySet. Breaks at https://github.com/coursereviews/coursereviews/blob/master/coursereviews/apps/reviews/views.py#L154-L155.
Should link to homepage with #
link to department.
Simple try/except should fix this. Should also render a message with a create a review button.
My history major friend who's bad with computers tried to search for courses before filling his quota and was pissed off when it didn't work.
Some courses are taught by multiple professors. We should support this to avoid having professors without courses.
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 ProfCourse
s that reference the course AND the viewing professor, rather than just the course.
Quota page should appear on top of browse page instead of on its own.
Comments shouldn't be required.
comment = model.TextField(..., null=True, blank=True)
A header with small buttons for login/logout, typeahead search, user page. Probably a dropdown/flyout.
{% load static %}
<script type="text/javascript" charset="utf-8">
var STATIC_URL = '{% get_static_prefix %}';
</script>
Whoosh doesn't work on Heroku because it relies on the filesystem.
Should be changed to choice fields so there isn't string != int type issues.
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.
/password/change provides a form, but using it causes a 500 error.
Also there is no link directing users to this page.
Primary components:
Why was this course valuable:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.