GithubHelp home page GithubHelp logo

gamevault's Introduction

Welcome to the GameVault wiki!

GameVault is a clone of GoodReads, the classic reading list and bookshelf management app. Instead of books, GameVault allows users to cleanly organize their video games into collections and leave reviews on their favorite games. GameVault was created in one week using Express and Sequelize.

View the live app here!

Welcome View

au-home

Features

sign-up sign-up log-in log-in vault/profile vault edit profile user-edit

collection-1

game

played-status

Technologies Used

  • Express
  • Sequelize
  • Figma
  • Heroku

Planning

Database

View our database schema here!

Future Features

  • Search games by name and genre
  • Update your rating on a game
  • Add your own games into the database

gamevault's People

Contributors

anailopez avatar angmaidt avatar dave89rr avatar jiaqicheng1998 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

gamevault's Issues

Sign-Up Form Bugs

Found some issues with the form (front/back end)

  • Password Field shows password

  • Bio field does not pre-fill if form is attempted to be submitted and has errors

  • Pug does not render errors

Misc Issues

  • Visiting an incorrect link won't always redirect to 404
    • Example: /collections/:fakeIdNumber/
  • If session expires. User is shown 'invalid user id' error when trying to navigate to another page that requires Auth
  • Auth Issues
    • Demo user: Invalid users ID will still load the guest account /users/1 and /users/1544 still loads guest user details
    • Real User: Error message is thrown (user.name not found for :id) instead of 404 or giving message that link is not accessible
  • Vault-view missing collection delete buttons (is causing deleteCollection.js to throw errors)

Last Minute

  • Edit icon on vault page and sign up page needs to be limited to one choice
  • Drop downs need styling (ratings, playedStatus)
  • Fieldset elements need styling
  • Name and desc textarea on reviews and collections needs styling
  • Remove button not showing up upon adding game on /collections/:collectionId

Sign Up

Create a route handler for a request with path '/users/signup' and method of GET to display a sign up form.

  • The route handler should render a sign-up form
  • Should use csrfProtection and pass a csrf token to the pug template

Create a pug template with a form to sign up a user

  • Form should apply csrfToken
  • Form should have required input fields name, email, password and confirm password
  • Form should submit to POST '/users/signup'

Create a route handler to take in the form request with a path of '/users/signup' and a method of POST

  • Validate form data
  • Re-render the form in the event of a validation check failure
  • If there are no errors, create a new user and redirect the client to '/'

D5-ToDo

General

  • Some routes not protected, review and add requireAuth, csrfProtection (reviews routes)

PlayedStatus

  • When playedStatus is updated, it is changing the order of games in a collection

Reviews/Games

  • Edit and Delete buttons only show up on a new review after page has been refreshed
  • Average rating should appear next to game on /games/:gameId
  • **Update ratings on reviews
  • User should only be able add single review for a game
  • After posting review textarea is not cleared

Collections

  • Need to implement DELETE
  • Collections should limit the number of games
  • Edit button in collection not currently hooked up
  • User should be able to dynamically delete games from collections
  • When game is added to collection, played status drop down does not appear until reset
  • Add window.alert if game already in collection

404 Page

  • Should have one

Styling

  • Finalize logo/banner
  • Nav Bar styling
  • Logout needs styling
  • Finalize position for user info on /users/:usersId
  • Finalize position for add games button/drop down
  • Reviews needs styling
  • Styling on user signup
    • Formatting + more user icon options
  • Favicon needs updating
  • Edit user from textarea too big when not full screen
  • Logout button not in Nav (vault page)

Collections

Create route handlers:

  • Get /collections/new (protected)
  • post /collections/new (protected)
  • Get /collections/:collectionId (protected)
  • Edit /collections/:collectionId
  • Delete /collections/:collectionId
  • Include csrf for both routes
  • after task complete should redirect/re-render to appropriate view page
  • routes should use collectionValidators

Create pug files:

  • for all 3 pug files: extend layout.pug

Collection create page:

  • Have a form to create a collection
  • form should take in name and description

User vault view page:

  • should render existing collections
  • should render username, user icon, bio

Individual Collection Page:

  • display collection name and description
  • will display all games in that collection

Home Page with Log Out Button

Create a route handler for a request with path '/' and method of GET to display a home page with a logout button.

  • The route handler should render homepage with a logout button
  • Implement express-session package as middleware
  • Implement a logout function

Create a pug template for homepage

  • Page should have a navbar with logout button

D3 Front End

  • Fix Footer
  • Format game tiles (possibly mixin)
  • Front end-js files (event listeners for buttons)
  • Tweak Nav Bar
    • Logo -> Navigate home
    • If user logged in link to profile
  • Link "create vault" button w/back end
  • add button to each collection to add more games
  • Edit button on profile page
  • edit button on collection page
  • Icon selection during user sign up
  • Add banner to homepage (logged out state)
  • In /collections/new set up drop down to add games

D4-ToDo

/

  • Render games according to date released (most recent first)

/collections/:collectionId

  • Make drop down dynamic (displays our games)
  • When game is added, should add without re-rendering entire page
  • Edit Button should pull up form to edit collection name and desc
  • When edit is submitted, page should update without re-rendering entire page
  • Delete button for collection

/users/:userId

  • Formatting on profile page:
    • User info display
    • Footer currently hiding add new collection button

/games/:gameId

  • Game image rendering too large
  • Add to vault button => Add to collection
    • Drop down with list of your collections
  • Set playedStatus
    • Drop down menu

Frontend Javascripts

  • Duplicate games currently being rendered without being added to collection
  • Reviews should be added/edited/deleted dynamically
  • PlayedStatus should be dynamically updated on games

Reviews

  • Should be able to set rating for games
  • Should be able to edit review for game
  • Should be able to delete review for game

PlayedStatus

  • Should be dynamically updated for each game
  • User should be able to set played status from drop down on each game

vault-view.pug
Functionality added, however, done dynamically w/out redirects

  • Update edit button, when clicked should redirect to /users/:userId/edit, with edit form
  • When edit is submitted, should redirect to /users/:userId with new changes

footer

  • Text clipping through

D3 bugs

  • cannot render collection page when trying collections/:id (fixed in 08f5cb8)

Frontend Bugs

  • new collection button on vault page doesn't redirect:
  • banner not displaying at 100% when screen minimized

Bugs after Styling

/games/ :gameId

  • Add review button broken (event listeners need editing)

Log In

Create a route handler for a request with path '/users/login' and method of GET to display a sign up form.

  • The route handler should render a log in form
  • Should use csrfProtection and pass a csrf token to the pug template

Create a pug template with a form to sign up a user

  • Form should apply csrfToken
  • Form should have required input fields email, password
  • Form should submit to POST '/users/login'

Create a route handler to take in the form request with a path of '/users/login' and a method of POST

  • Query for the user via their username, and check their password.
  • Re-render the form if check fails, otherwise redirect client to '/'

Dynamic Collection Edit Bug

Updating a collection's name or description causes all games to temporarily disappear from the site (until next refresh).

Fire link on GameVault

Playing Fire link I got the mini, the minor, and 2 other fireballs. The game only paid me $0.14 and I didn't even get the fire link bonus. This is the second time this has happened, but this time I did get a screenshot.

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.