Code Monkey home page Code Monkey logo

zc_plugin_chessboard's Introduction

Chess Board Room Plugin

An image of chess pieces

Zuri chesss plugin is a web based recreational and competitive board game played between two players with an option for AI, that can easily be installed and used as part of the Zuri chat main application.

Design:

Figma link to the design implemented:
coming soon!

Hosted URL:

https://chess.zuri.chat/

Tech Stack:

  • React js
  • Nodejs
  • Ajax
  • WebSockets

Project Setup & Contribution Guide:

  • Fork this REPO
  • Clone the repo from your account
git clone https://github.com/<username>/zc_plugin_chessboard.git

For BACKEND

  • switch to the backend directory and install all dependencies
cd backend
npm install   or   yarn install

For FRONTEND

  • switch to the frontend directory and install all dependencies
cd frontend
npm install   or   yarn install

  • Add the main repo remote to your project upstream
git remote add upstream https://github.com/zurichat/zc_plugin_chessboard.git
  • Pull from upstream
git pull upstream dev
  • Switch to a new branch with your {feature-name}
git checkout -b <feature-name>
  • Add your work/code

  • When done making your changes, run

  git add .
  git commit -m 'your commit message'
  git push origin <feature-name>
  • Create a Pull Request to dev branch

For Local Testing:

  • Run backend server
cd server
npm run dev   or   yarn run dev
cd client
npm start   or   yarn start

zc_plugin_chessboard's People

Contributors

alao-abiodun avatar amuabigail avatar anita9771 avatar augustbemsen avatar babsmutini avatar caesarsage avatar d0bbl avatar e-nicholas987 avatar emekarr avatar eni4sure avatar fabianuzukwu avatar generalsoi avatar haybeecoder avatar ibitolamayowa avatar joblyn avatar joshuamonyei avatar kenny0619 avatar lekandev avatar michael-2509 avatar mustophy avatar ndubuisijr avatar obintus avatar odizee avatar otutukingsley avatar thebigbillz avatar tobybrave avatar vermilion4 avatar watermelon-sugar avatar webmekanic avatar yemi-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

zc_plugin_chessboard's Issues

Add Checkmate Feature

A user should be able to checkmate their opponent based on chess rules so that a winner can emerge.

CREATE A FUNCTION THAT HOLDS THE CURRENT STATE OF THE GAME

On single player mood:

  • A player should be able to resume the game when the connection fails.
  • A function that holds the current state of the game should be created so that in a scenario where the player falls into network issues they can still get back their previous state in the game.

A popup to display score after a match

As a player I want to see my scores after a game so as to determine my growth and lots more. At the end of a match, after a period of time, summary of the game is displayed at the top of the page.

CREATE AN OPTION TO ORGANISE A TOURNAMENT

  • A player should be able to organize a mini-tournament amongst interested players so that can rank up ranks and earn points.
  • There should be an option to organize a mini-tournament amongst interested user so that they could compete amongst themselves and then they can earn points in which the users with most points are given higher ranks.

ADD A CHESS TUTORIAL LINK

A beginner should be able to watch a tutorial on chess so that they can learn how to play the game.
A link leading to a chess tutorial should be added to enable beginners learn about the game.

CREATE A RECORDING OPTION

  • A player should be able to record moves in a game so that they can watch them later.
  • This option once clicked should begin to record the game and save such record in the database for easy retrieval by a user.

CREATE AN OPTION TO RATE THE GAME

A player should be allowed to rate the game play, so it can serve as a feedback for the development team in improving the experience.

ADD A REACTION BUTTON

  • A player should be able to add reactions based on how they feel with moves.
  • When the game is in progress and I capture the opponents' piece, I can click a happy emoji that expresses their joy.

ADD GAME PLAY AND UPDATE NOTIFICATIONS

A player should be able to see requests to play and also chess updates so that they do not miss out on any update.
An area should be created where information such as :

  • players request to play
  • chess updates, are displayed so that players do not miss out on any updates.

ADD OPTION TO CHANGE THE DIMENSION [2D OR 3D]

  • Users should be able to change the display settings to either 3D or 2D to make it more appealing visually.
  • When a user clicks on the display options, users should be able to change the dimension of the pieces.

ADD OPTIONS TO HELP SEE CLUES

  • There should be clues and hints when a player spends so much time deliberating on a move.
  • This should be toggled on and off

ADD OPTION TO LOG IN AS A SPECTATOR

  • A spectator should be able to watch others when they're playing, for the purpose of learning or have fun watching.
  • Case Scenario: Once I log in as a user, I can click a button to identify as a spectator and be able to watch or observe others playing.

Make the king and rook have the ability to castle

As a player, the rook and the king should have the ability to castle so that the king moves two spaces to the left or to the right, and the rook moves over and in front of the king, all in one move!

CREATE A GAME RESTART LOGIC

  • When playing against another user, the restart function should stop the current game.
  • The player that invokes it loses and the other player wins
  • If it is against a bot or the computer, no win or loss - (the game simply restarts)

An option to select a preferred difficult level

Users should be able to select any level they want, difficult, simple, or intermediate. Users should be able to choose a player on the same level they are on (difficult, simple, or intermediate).

ADD A CHAT FEATURE IN THE GAME

A player should have access to a chat feature during a game, so they can share thoughts and also communicate with each other.

Add a Change Appearance option

As a player, I want to customize the theme and material of the chessboard so that it appeals to me. Click on settings, click on display, click on change appearance, a list of themes and material appears.

CREATE A ZOOM PERSPECTIVE

As a user, I want to be able to zoom in and out of a chess board so I can see the battle grounds in a larger perspective

CREATE A SEARCH BAR TO SELECT AN OPPONENT

  • A player should be able to search for users [chess players] to play against.
  • The search bar could have a drop-down list containing names of different users that match the current search string.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.