Giter Site home page Giter Site logo

jmkoni / course_review Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.89 MB

PSU SWENG Capstone Project

Home Page: https://course-review-app.herokuapp.com

License: GNU General Public License v3.0

Ruby 64.45% JavaScript 1.01% HTML 33.55% SCSS 0.97% Procfile 0.02%

course_review's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar jmkoni avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

course_review's Issues

Layout problem#1

System:
Windows 10, Chrome 76.0.3809.100 (Official Build) (64-bit)
Issue description:
On screen resolution 1980 to 1080 the layout is not seen.
More details on the screenshot attached.

layout1

Expected behavior:
Even with zooming in, all information must be viewed. Perhaps the issue will be resolved with the implementation of responsive layout

Users can sort all classes for a school by rating

Describe the solution you'd like
I think users should be able to sort all classes based on ratings. A tool like datatables should be able to do this quite easily. However, this will also need to average out the ratings for each course.

Add departments

Right now, a school has courses. I think it would be better organized if a school had departments and then departments have courses.

Registration not adding years experience

Describe the bug
Right now, the registrations controller can handle email and password, but not any additional information. So there have to be two separate updates for the user: one for profile and one for password. This is confusing! Also, when a user signs up, the years experience gets ignored.

Expected behavior
There should be able to be one single update profile session that allows a user to update anything.

Additional context
Gonna have to do a bit of a deep-dive into devise, but I don't think this will be a super challenging issue.

Signed in user cannot delete a review that they created

Describe the bug
Logged in as [email protected] on my local and went to destroy a review that user wrote. Got the following:

CanCan::AccessDenied at /schools/3/courses/13/reviews/95
You are not authorized to access this page.

To Reproduce
Steps to reproduce the behavior:

  1. Sign in as a non-admin user
  2. Write a review
  3. Try to delete that review
  4. See error

Expected behavior
There should be no error.

Additional context
I went into ability.rb and put a binding.pry within can [:update, :delete], Review do |r| and r.user == user returned true.

Allow export of user data

Is your feature request related to a problem? Please describe.
Currently, users have no way of easily exporting all their data.

Describe the solution you'd like
There should be a link in the user profile (if profile doesn't exist yet, link in the header) to export data. Currently, I'm thinking the export should include all their reviews. However, there could be an argument to include any data in the users table relevant to that user.

Users can add tags to reviews

Describe the solution you'd like
I want users to be able to add a tag to a review. This will more easily allow users to search for similar reviews

Additional context
I think there are a few ways that this could potentially be done. I'm not sure if we want user generated tags or a pre-defined set of tags and then allow for a dropdown.

Edit school page has a show link that goes to the department list

Describe the bug
Links are not clearly displaying where they are actually going.

To Reproduce
Steps to reproduce the behavior:

  1. on the "edit school" page, there's a link to "Show."
  2. Click that link. Takes you to "departments."

Expected behavior
Probably should just be removed. Could also be renamed.

Add username

Is your feature request related to a problem? Please describe.
Users are currently represented by a random hash. I want to give users the option to have a username.

Describe the solution you'd like
Two columns need to be added to the database:

  • username (string)
  • anonymized (boolean, default to true) - could definitely use a different name for this column, purpose is to be true if the user wants to stay anonymous

Then the reviews list needs to be updated to include the username instead of the hash IF anonymized is false.

Hover definitions of different ratings

It might be nice to have some kind of hover/anchoring for what the different ratings mean. Is work quality/quantity? Is there a rough number of hours you'd want people to assume each of the numbers on the scale means, or should people be rating them relative to all courses at the university, or within the department (I know different departments here have vastly different expectations in terms of how much out-of-class work/studying is going to be required to do well.)

Users can select a tag and see all reviews with that tag

Dependent on #23

Describe the solution you'd like
I want a user to be able to see a list of tags on the reviews page and be able to click any and be taken to a list of reviews with that tag. This should also be able to be done from within a review.

Your .dependabot/config.yml contained invalid details

Dependabot encountered the following error when parsing your .dependabot/config.yml:

Automerging is not enabled for this account. You can enable it from the [account settings](https://app.dependabot.com/accounts/jmkoni/settings) screen in your Dependabot dashboard.

Please update the config file to conform with Dependabot's specification using our docs and online validator.

Your .dependabot/config.yml contained invalid details

Dependabot encountered the following error when parsing your .dependabot/config.yml:

The property '#/update_configs/0/automerged_updates/0' contains additional properties ["dependency_type", "update_type"] outside of the schema when none are allowed
The property '#/update_configs/0/automerged_updates/0/match' of type null did not match the following type: object. Is the following line indented correctly?

Please update the config file to conform with Dependabot's specification using our docs and online validator.

Setup mailer for devise emails

This is currently the response if you try to reset a password:

2019-07-04T18:46:26.638374+00:00 app[web.1]: D, [2019-07-04T18:46:26.638309 #4] DEBUG -- : [75e78083-bb36-48c8-8f74-55b91248d6e1] Devise::Mailer#reset_password_instructions: processed outbound mail in 2.7ms
2019-07-04T18:46:26.638654+00:00 app[web.1]: I, [2019-07-04T18:46:26.638586 #4]  INFO -- : [75e78083-bb36-48c8-8f74-55b91248d6e1] Completed 500 Internal Server Error in 16ms (ActiveRecord: 5.3ms)
2019-07-04T18:46:26.640147+00:00 app[web.1]: F, [2019-07-04T18:46:26.640069 #4] FATAL -- : [75e78083-bb36-48c8-8f74-55b91248d6e1]   
2019-07-04T18:46:26.640232+00:00 app[web.1]: F, [2019-07-04T18:46:26.640156 #4] FATAL -- : [75e78083-bb36-48c8-8f74-55b91248d6e1] ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):
2019-07-04T18:46:26.640457+00:00 app[web.1]: F, [2019-07-04T18:46:26.640386 #4] FATAL -- : [75e78083-bb36-48c8-8f74-55b91248d6e1]     2: 
2019-07-04T18:46:26.640459+00:00 app[web.1]: [75e78083-bb36-48c8-8f74-55b91248d6e1]     3: <p>Someone has requested a link to change your password. You can do this through the link below.</p>
2019-07-04T18:46:26.640461+00:00 app[web.1]: [75e78083-bb36-48c8-8f74-55b91248d6e1]     4: 
2019-07-04T18:46:26.640463+00:00 app[web.1]: [75e78083-bb36-48c8-8f74-55b91248d6e1]     5: <p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %></p>
2019-07-04T18:46:26.640464+00:00 app[web.1]: [75e78083-bb36-48c8-8f74-55b91248d6e1]     6: 
2019-07-04T18:46:26.640466+00:00 app[web.1]: [75e78083-bb36-48c8-8f74-55b91248d6e1]     7: <p>If you didn't request this, please ignore this email.</p>
2019-07-04T18:46:26.640472+00:00 app[web.1]: [75e78083-bb36-48c8-8f74-55b91248d6e1]     8: <p>Your password won't change until you access the link above and create a new one.</p>

Shortname is confusing

Using shortname in both school and department is confusing. Consider using school code and department code instead.

Add professor to review

There's not an easy way to do this automagically, so I need to allow students to add the name of their prof to a review.

Ability to filter relevant columns

One thing I'd like to see would be a way to filter out things in the display that are irrelevant to me. Maybe I don't care about the notes, or the year, or something, and some option to clear out columns that aren't relevant to me would reduce visual clutter.

make experience_with_topic display as yes or no

Is your feature request related to a problem? Please describe.
Right now `experience_with_topic is displayed as a basic boolean.

Describe the solution you'd like
Display it as a simple yes or no to make it more readable. In the list view, it could also be a checkmark.

User can sort reviews based on rating

Describe the solution you'd like
I think users should be able to sort all reviews based on ratings. A tool like datatables should be able to do this quite easily.

User Profile that includes a user's reviews

Is your feature request related to a problem? Please describe.
Currently, there is not an easy way for a user to see all the reviews that they have written.

Describe the solution you'd like
Add a Profile link to the top that includes the following:

  • User email
  • Link to update password and email
  • Link to delete account
  • List of all reviews written (can use reviews/list, should not need filterrific)

Users can sort schools by average class ratings

Describe the solution you'd like
I think users should be able to sort all schools based on ratings. A tool like datatables should be able to do this quite easily. However, this will also need to average out the ratings for each school (which would get the average from each course).

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.