🔍 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.
Truevia application deployment
💾 npm dependencies installation
npm init
npm i handlebars
npm i bcrypt
npm i express
npm i opentdb-api
npm i sequelize
npm i dotenv
💻 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!
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.
✏️
📝 This project is MIT licensed.
✉️ Contact us with any questions ❓
✔️ Raed Altaki
✔️ Jon Shallcross
✔️ Matt Bianco
✔️ Nathan McCaw
✔️ Richard Lim
