Skip to content

elizchan/SuperSmash-Directory

Repository files navigation

SuperSmash Directory

Link to App: https://supersmash-directory.herokuapp.com/

Concept

A directory consisting of available SuperSmash characters in SuperSmash 4 that you can add to your account and allows you to post messages/comments to the message board for other users to see.

Techonologies Used:

  • Bootstrap
  • Node.js
  • Postgres SQL
  • Express
  • EJS
  • SuperSmash API

User Stories

  • As a user, I should be able to see a home page with SuperSmash champions, a link to see more info on specific champion and an Add to Favorites button with the title of the website and the option to log in or sign up.
  • As a user, I should be able to log in or sign up to access the add to favorites button.
  • As a user, as soon as I am logged in, I should see a message saying that I am logged in with a change in the hyperlinks under the title of the webpage to say Log Out, Profile, Favorites, Messages
  • As a user, I am able to access my profile page and update my username with the provided field if I choose to do so
  • As a user, I am able to see my added champions' name and associated image
  • As a user, I am able to submit comments on the message board and other user's comments and an associated Remove button.
  • As a user, I am only able to delete my own comments on the message board

How to set up:

  1. fork and clone

  2. install dependencies

npm i
  1. create a config.json with the following code:
{
  "development": {
    "database": "<insert development db name here>",
    "host": "127.0.0.1",
    "dialect": "postgres"
  },
  "test": {
    "database": "<insert test name here>",
    "host": "127.0.0.1",
    "dialect": "postgres"
  },
  "production": {
    "database": "<insert production name here>",
    "host": "127.0.0.1",
    "dialect": "postgres"
  }
}

Note: If your database requires a username and password, you'll need to include these as well.

  1. create database
sequelize db:create <insert db name here>
  1. migrate the user model to database
sequelize db:migrate
  1. Add SESSION_SECRET and PORT environment variables in a .env file(can be any string)

  2. Run nodemon to start up app

Planning/Creation Process

ERD

ERD-for-proj-2-1

website used: lucidchart.com

Wireframes

20201116-172319

20201116-172309

API Source

This is the link to the API I chose to use for this project. https://api.kuroganehammer.com/api/characters

Creating Routes

URL Crud Route Explanation
"/" READ GET Renders home page
"/" CREATE POST creates user's favorites
"/smash" READ GET Grabs the user's favorites
"/smash" DELETE DELETE Delete's user's favorite
"/profile" READ GET Grabs user's current name
"/profile" UPDATE POST Update user's username
"/details/:ownerid READ GET Grabs the champion data
"/comments" READ GET Grabs all comments made
"/comments" DELETE DELETE Deletes user's comment

challenges

  • Figuring out how to use the API to get information on a specific champion
  • Figuring out how to store the userId of the comment made into the comment table
  • Figuring out how to correctly use bootstrap

Stretch Goals

  • let users update passwords and their comments and letting them get a link of all the comments they made
  • making the remove button on the message board only show up for the current user's comments
  • understanding bootstrap more so the styling is better
  • allowing users to respond to other comments they see in the message board

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published