Skip to content
SuvaShahriaPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

252 Commits

Folders and files

Repository files navigation

Project-2: Chess App

Team Members:

  • Suva Shahria - Team Lead, Chess Logic, Chess Visualization + Chess CSS, Communication between front-end and backend for chess logic.
  • Matthew LaFleur- Login/Registration with the use of AuthGuard, CSS for all pages.
  • Max Goncharov - Documentation and CSS on home page.
  • Andrew Curry - Spring MVC, Handled majority of the backend and Testing.

Executive Summary

Chess App is a full-stack web application that allows users to login and play chess against each other online. Users can challenge other users to a game. Replay old games that they've played. Users can customize the theme of the board and the pieces.

Chess App User Stories

  • Users can register and create a new account.
  • Users can login.
  • Users can reskin the chessboard and chess pieces according to their preferences.
  • Users can challenge other users to a chess match over the internet.
  • Users can play chess against other users online.
  • Users can replay their old games.
  • Users can view all users, their incomplete games, and pending games.
  • Users can logout.

Technology Stack

Front-End

  • We used Angular, Bootstrap, HTML, CSS, JavaScript, and TypeScript to create the front-end of the application.
  • We implemented chess.js API and chessboard.js API for the chess logic and chessboard graphics.

Back-End

  • We used SpringMVC to leverage the Dispatcher-Servlet to create a FrontController design pattern to communicate with the back-end.
  • The back-end system uses SpringMVC along with Hibernate to connect to an AWS RDS Postgres database.
  • Passwords are encrypted in Java and securely stored in the database.
  • The middle tier follows proper layered architecture and has reasonable (~70%) test coverage of the service layer.

Misc

  • We employed the scrum methodology and the agile development framework during the two-week sprint.
  • GitHub and GitBash for version control.
  • Slack, Zoom, and Discord for team communication and stand-up meetings.

Sample Views

sample view

sample view

sample view

sample view

sample view

sample view

sample view

sample view

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages