GithubHelp home page GithubHelp logo

4806-project's People

Contributors

bmelone avatar eimh avatar josephldooley avatar samjjc avatar

Watchers

 avatar  avatar  avatar

4806-project's Issues

Role Based Permissions

Want to create 2 roles.
Admins can make new products and leave reviews
Users can add review but not make products
Maybe other roles and permissions if we can think of stuff

Sign Out

Need to add functionality so that a user can sign out.
The navigation bar expects that the sign out url is at /signout but this can be adjusted.

Add Category for Products

Products need to be sorted by category.
This fulfills the requirement in the project sentence:
"A user can then list products for a given category by average rating"

Add Logged in User to Review

Currently unknown is added as the user for reviews, this should be changed to link the logged in user to the newly created review.

Make frontend for sorting and filtering

Add a frontend to make sorting and filtering easier.
Maybe a search bar? Buttons for sorting method? Dropdown to select product type/chain to filter by?

Most of this is supported in the url we just need a frontend that makes it easier.

Degree of separation

Add the necessary support for the degree of separation feature:

  • determine the degree of separation of one user to another based on their follows. (depends on #41)
  • add the degree of separation next to user reviews (depends on #40)

Create Your Following Page

Add support for users to view and manage who they are following:

  • backend to get all of the user's followings
  • page that lists all of the user's followings
  • backend to manage followings (remove followings that are no longer wanted)
  • update the following relationship in the backend so that it is efficient to get a user's followers
  • side panel that lists the top N most followed users
    Depends on #41

Weekly Scrum - March 12

-what have I done this week?(with link(s) to the relevant GitHub Issue(s))

-what will I do next week?(with link(s) to the relevant GitHub Issue(s))

-what is holding me back? (if applicable)

Follow from Review

Still need to be able to follow a user from their review from #41 (add front end support for users to follow users (from their reviews)).
This can be done by make a review clickable and linking to their user page, or by adding a follow button.

Weekly Scrum - March 21st

-what have I done this week?(with link(s) to the relevant GitHub Issue(s))

-what will I do next week?(with link(s) to the relevant GitHub Issue(s))

-what is holding me back? (if applicable)

Product List Filtering

Add support to filter all the products:

  • categorize by chain, product type, (unreviewed?), or all
  • sort by average rating, average rating of followed users (depends on #41), alphabetically, etc.
    Users must be able to categorize or filter the results and also apply a sort onto the filtered results

Improve the product page

The product page is where users will spend a lot of their time. It shall be beautiful.
Also reviews need to support various sorting metrics.

Support User Following

Add the functionality so that a user can follow another user:

  • adding backend support for users to add other users to their followings.
  • add front end support for users to follow users (from their reviews) maybe dependent on #40

Weekly Scrum - April 4th

-what have I done this week?(with link(s) to the relevant GitHub Issue(s))

-what will I do next week?(with link(s) to the relevant GitHub Issue(s))

-what is holding me back? (if applicable)

Add POJOs to database

Add Entity tags, ids, and relationships to the model classes and ensure they are tracked by the database

Fix multiple reviews per user

Users should not be able to post multiple reviews for the same product.
Check that the user has not reviewed an object before the can post a review.
Maybe allow users to modify or replace their old review.

Hide Following

/user/{user}/following should only be visible to that user.
Also we don't need the following list on /user/{user} again, so could change it to a link.

Make a Home Page

Make a home page at "/" with a pretty interface.
Add something like "top products per category" or "hot products" or something like that.
Maybe a big search bar.

Weekly Scrum - March 26th

-what have I done this week?(with link(s) to the relevant GitHub Issue(s))

-what will I do next week?(with link(s) to the relevant GitHub Issue(s))

-what is holding me back? (if applicable)

Add Product images

Support product images:

  • add images to models and store in database
  • support requests for products to get the image links
  • display images on product page

Hide Add Product

If normal users cannot add products, then we should probably hide the add product button on /productlist page from non-admins.

Add an Error Page

Add an error page that will show up instead of "Whitelabel Error Page" when you go to a url that does not exist.
/error

User Page

Add a user page.
Depends on #41 and #42
When viewed by anyone:

  • list the followers of that user
    When viewed by non-followers:
  • users can follow that user if not already following
    When viewed by that user:
  • account and review management features such as deleting account

Support Jaccard Distance

Add the jaccard distance similarity support:

  • calculate the jaccard distance to other users for a given user based on the jaccard distance similarity of reviews.
  • add a side panel to the following page so that users can view their top N most similar users (depends on #42)
  • product reviews can be sorted based on similarity score of users who made the review. (depends on #40)

Add validator for forms and validation annotations to model objects

It might be useful to add validators so that we can organize and deliver feedback when constructing invalid objects.

We will need to add the following dependency:

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>7.0.0.Final</version>
</dependency>

Create a review

The user needs the ability to create a review for a particular product.

Chains Page

Add support for a chains page:

  • add frontend for a chains page that categorizes all chains by type
  • clicking on a particular chain links the user to all the products of that chain (depends on #45)

Calculate the rating for a product

When viewing a product we should be able to display the average user rating for a product.
A backend implementation is required so that the rating for a product can be retrieved.

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.