4806-project's People
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
Backend for creating products
Make the endpoint for creating products
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.
Make Login page
Make frontend view of login screen
Make a prod and dev profile
Create multiple property profiles so that we can have different production and development profiles
Add sorting by rating of users they follow
"A user can then list products for a given category by average rating of only the users they follow"
Frontend for a Product
Be able to view the details of a selected product.
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
Sort review by similarity score
"Product reviews can also be ranked according to the similarity score of the people who reviewed them."
Add database schema to readme for Milestone 1
As per the requirements of the project milestone deliverables.
Weekly Scrum - March 6
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.
Switch prod backend to PostgreSQL
Need to update prod profile and heroku configuration. Will require downtime
Fix user page null error
also hide elements base on user viewing vs user's page
Make issues for milestone 1
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)
User model
Make User Model
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
Allow Registration of Users and Remove Hard Coded Passwords
- Change hard coded user/pass into a registration page
- Store salted/hashes passwords, users to db
Add user to review object
Add a user field to the review model object so that the user of a review can be easily retrieved
Front to list all products
Frontend view that lists all products
Backend for product list view
Backend endpoint to get list of all products
Change no Login Page require Whitelist to Blacklist
instead of add new pages to not require login page, change it to a add pages that require a login page.
Add validator for Reviews
Split #20 into two issuse
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.
Connect to heroku and travis
Connect the repo to heroku and travis ci
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.
Login Backend
Make backend logic for logging in
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
Frontend for creating product
A frontend form for creating a product
Book or review/product model
Book model if we go with bookstore or review and product models if we go with product review model
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.