Skip to content

A Trivia game application made using node.js, express.js, mySQL, handlebars.js, Open Trivia DB API, bycrypt.js, and Sequelize ORM that challenges users in a time limited Trivia game. After the game is finished, their high score is posted to a leaderboard and emailed to them. Also, users can comment on each others high scores.

License

Notifications You must be signed in to change notification settings

Group3bootcamp/Truevia-Game

Repository files navigation

Truevia

Table of Contents


Description

🔍 A Trivia game application made using node.js, express.js, mySQL, handlebars.js, Open Trivia DB API, bycrypt.js, and Sequelize ORM that challenges users in a time limited Trivia game. After the game is finished, their high score is posted to a leaderboard and emailed to them. Also, users can comment on each others high scores.

Image 1

Truevia application deployment


Installation

💾 npm dependencies installation

npm init

npm i handlebars

npm i bcrypt

npm i express

npm i opentdb-api

npm i sequelize

npm i dotenv


Usage

💻 To run on your localhost, run the following command at the root of your project and answer the prompted questions:

mysql -u root -p

Enter PW when promted

source db/schema.sql

quit

Create a .env file at the root of your project with the following variables. Set DB_User and DB_PW with your username and password.

DB_NAME=trivia_game_site_db

DB_USER=

DB_PW=

Run the following command at the root of your project:

npm start

Open up a browser and go to http://localhost:3001/.

Make an account and enjoy the game!

User Stories

AS A User I want to play a trivia game,

I WANT to see how I compare to others on a leaderboard SO THAT I can improve and move up the leaderboard

WHEN I visit the site for the first time,

THEN I am presented with a homepage, which has the leader board and navigation links to login or sign up

WHEN I choose to sign up,

THEN I am prompted to create a username, password and give my email address.

WHEN I click the sign up button,

THEN my user information is saved and I am logged into the site.

WHEN I revisit the site later and choose to login,

THEN I am prompted for my login information.

WHEN I am signed into the site,

THEN I see navigation links for the homepage, dashboard, Invite a friend and an option to logout.

WHEN I click the dashboard link,

THEN I am shown the leader board,

WHEN I click on a high score,

THEN I am able to comment on that score.

WHEN I click Invite a friend,

THEN I am able to enter their email to send an invitation to play.

WHEN I click play a game,

THEN I am taken into the game and will be asked a series of questions.

WHEN I click logout,

THEN I am logged out and can no longer comment on high scores.


Testing

✏️


License

📝 This project is MIT licensed.


Contributing

✉️ Contact us with any questions ❓
✔️ Raed Altaki
✔️ Jon Shallcross
✔️ Matt Bianco
✔️ Nathan McCaw
✔️ Richard Lim

About

A Trivia game application made using node.js, express.js, mySQL, handlebars.js, Open Trivia DB API, bycrypt.js, and Sequelize ORM that challenges users in a time limited Trivia game. After the game is finished, their high score is posted to a leaderboard and emailed to them. Also, users can comment on each others high scores.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •