Personal Contributions

  • Created A database system that allowed for the addition of leaders to a leaderboard via sending post requests after the completion of the game to the server
  • Created an API with Crud endpoints and functionality to allow for the addition and sorting of users to the leaderboard and with garbage validation
    • Scores of 0 cannot be inputted
    • Prevented Usernames from being inputted by user done automatically by the UI
    • Score also send automatically by the UI
    • Scores must exist to be able to get a response from the score search
  • Helped with creating post requests for the create User functionality of the Sign Up page
  • Created the login functionality for the project with allowing users in the user database only to login (backend for login was made by Sreeja)
  • Created a system where the user id is cached to local storage and is saved also saved logged in state to be able to change the UI for signed and not signed in users
  • Used this information to also be able to send the username automatically to the leaderboard when the user is logged in
  • Created Log Out functionality that resets the UserId and logged in status and allows other users to use the system
  • Created a Leaderboard table that refreshed automatically every 5 seconds to show the current leaderboard from the database with data formatted from the get request
  • Sorted the database by score and created multiple features leveraging the power of the SQl Alchemy ORM

Technical Achievements

  • Learned complex topics like local storage and caching and the ability to use it to create a system where user data is saved until it is cleared by the user when the use log out
  • Learned how to use tools such as jquery and fetch to send post and get requests and reformat data into UI elements
  • Learned how to use the power of the SQL Alchemy ORM to create a database system that is able to sort and filter data and researched more complex features
  • Learned how to retrieve data from HTML Elements using Javascript
  • Learned how to increase my CSS knowledge and create the majority of the UI and styling for the project (everything other than the game itself)
  • Learned how to create and API and use a database system after hours and days of research and learning and struggles had to make over 3 systems before I was able to get one that worked

Contributions to the Group

Commits to the Frontend Repo (I also made commits to branches that were not merged into the main branch so the number of commit is not fully accurate and the amount of code may also be slightly off):

  • Frontend

Commits to the Backend Repo (Other Branches Not Present Same as Frontend):

  • Backend