Chess is a classic board game for two players, known as White and Black, each controlling their respective set of chess pieces, with the objective of checkmating the opponent's king.
This project is an online 2-player chess game where users can log in and compete with their friends. It features a frontend built with Angular and a backend in Node.js.
- User Authentication: Users can create accounts and log in to play chess.
- Real-time Gameplay: Enjoy a seamless gaming experience with real-time updates.
- Game History: View past games and track your progress.
- Responsive Design: Play anywhere, on any device, with a fully responsive interface.
- Chat Functionality: Communicate with your opponent through an in-game chat feature.
- Customizable Settings: Adjust game settings such as time controls and board themes.
- Clone the Repository:
git clone https://github.com/Yash7824/Chess.git
- Install Dependencies
npm install
- Client Side : Install Angular CLI
npm install -g @angular/cli
- Server Side :
Made Use of NodeJS, ExpressJS, SocketIO.
- Database Side
Create a .env file in the server folders and mention the Mongo Atlas Credentials.
- Automated, customized, and executed the software development workflows with GitHub Actions
- Deployed the Client Application on Netlify using github actions
- Deployed the Server Side on AWS Lambda
This project was generated with Angular CLI version 16.0.5.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.
We welcome contributions from the community! To contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature-name).
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature/your-feature-name).
- Create a new Pull Request.
Special thanks to the following individuals for their contributions to this project: