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.
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',
}
/ - home page showing default information and navigation bar
/projects - page for showing all projects
/register - page for registering to play NBA trivia game
/game - page for showing NBA trivia game
- as non-registered user, I can register a new account with the site
- as a user, I can log in to the site
- as a user, I can play the NBA trivia game at
game/play
- as a non-registered or registered user, I can view portfolio information on the home page
- as a non-registered or registered user, I can send my contact information
- as a non-registered or registered user, I navigate to
/projects
and view projects
- (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