Our project is a chess application built using Java Web Applications and HTML/CSS/JS. It allows players to play chess with another player or a computer, as well as solving chess puzzles. The server utilizes WebSockets for the online component along with HTML, CSS, and JavaScript for client-side interaction across all modes. The primary goal of this project is to implement everything we learnt in this course into a full stack web application.
- Kershan Arulneswaran - Websockets, Server, Online Multiplayer, Chess Moves, Comments, Readme and Video Demo
- Simon Berhe - Audio Implementation, Timer, Title Page and About Page
- Mujtaba Chaudhry - Primary Chess Logic, Chess Moves and Move Validation, Puzzles, Computer Player and ELO Leaderboard
- Haider Saleem - Chess Board, Pieces, Themes, Rules, Highlighted Moves, Popups and Sidebar
All of us have contributed equally.
- Seamless Multiplayer: Real-time multiplayer chess gameplay using websockets for seamless communication between players.
- Challenging Puzzles: Incorporated a puzzle mode offering a daily puzzle for users to solve.
- Difficult Opponent: Used wukongJS to create a CPU that can provide challenging gameplay for users against the computer.
- Enhanced User Interface: Responsive and intuitive user interface for smooth navigation and enjoyable gameplay across clients.
To get started, follow these steps:
- Clone the repository using the command:
git clone https://github.com/OntarioTech-CS-program/w24-csci2020u-final-project-arulneswaran-berhe-chaudhry-saleem-1/
- Open in IntelliJ IDEA as Admin with the folder: /w24-csci2020u-final-project-arulneswaran-berhe-chaudhry-saleem-1
- Edit the configuration so that the URL is http://localhost:8080/chessproject-1.0-SNAPSHOT/
- Deploy GlassFish server
- In Visual Studio Code, run the VS Code Live Server Extension on any HTML page.
- Start Playing!
Other than the Jakarta EE, java.io and java.util libraries, we would like to credit the following:
- Chess.com's Chess Notation Page for main.js notation function
- WukongJS for wukong.js
- chess.js for chessImport.js