Skip to content

I created a portfolio website using Express and server side templating. I used client side fetching and APIs in order to add an interactive NBA quiz game. (Applied Internet Technology final project)

Notifications You must be signed in to change notification settings

adamsolimancs/ait-final

Repository files navigation

Interactive Portfolio

Overview

This is a portfolio website for me, Adam Soliman. It includes general information about myself, some projects I've worked on, as well as a fun game that involves guessing over/under on NBA player's statistics for the 2023-24 NBA season.

A user must register/login to access the /game page, in which they will guess over/under for the given question. The application keeps a user score history.

Overall, this website is an introduction into who I am, what I know, and my interests.

Data Model

The application will store Users and Questions

  • Users store username/password as well as score history.
  • Questions store the question information dynamically updated by API (more on that later).

An Example User:

{
  username: "ait467-grader",
  password: // a hashed password,
  scoreHistory: [1, 4]  // 1/4 questions answered correctly
}

An Example Question:

{
    playerName: 'LeBron James',
    statType: 'points',
    threshold: '23.4',
    answer: '26.8',
}

Wireframes

/ - home page showing default information and navigation bar

home page

/projects - page for showing all projects

projects

/register - page for registering to play NBA trivia game

/register

/game - page for showing NBA trivia game

/game

Site map

sitemap

User Stories or Use Cases

  1. as non-registered user, I can register a new account with the site
  2. as a user, I can log in to the site
  3. as a user, I can play the NBA trivia game at game/play
  4. as a non-registered or registered user, I can view portfolio information on the home page
  5. as a non-registered or registered user, I can send my contact information
  6. as a non-registered or registered user, I navigate to /projects and view projects

Research Topics

  • (5 points) Integrate user authentication
    • I'm going to be using passport for user authentication. I'm not fully educated on its full use cases but I plan to learn/integrate them.
    • see /register for register page
  • (5 points) Use NBA data
    • Leverage open source NBA Api Repository
    • see /game
    • I've assigned this a high point value due to heavy integration into application and mongoDB

10 points total out of 10 required points

Annotations / References Used

  1. passport.js authentication docs
  2. NBA Api Repo

About

I created a portfolio website using Express and server side templating. I used client side fetching and APIs in order to add an interactive NBA quiz game. (Applied Internet Technology final project)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published