GithubHelp home page GithubHelp logo

fave77 / pbchess Goto Github PK

View Code? Open in Web Editor NEW
43.0 2.0 58.0 6.16 MB

An open-sourced free online chess platform

Home Page: https://develop.pbchess.ml

License: GNU General Public License v3.0

HTML 0.95% CSS 12.36% JavaScript 86.69%
nodejs react mongodb express redis heroku netlify html css javascript

pbchess's People

Contributors

aanchal-fatwani avatar abhay27chauhan avatar anhushree avatar anjali041 avatar arshanshagarwal avatar codacy-badger avatar coder-srinivas avatar deepika-suk avatar devenkapoor7303 avatar devrawnie avatar fave77 avatar harshita2319 avatar jademaveric avatar jain-rishabh-21 avatar joshi008 avatar mennamagdy2019 avatar omkarph avatar rahulrj1 avatar rithgan avatar sanchit-soni avatar shrutiomer avatar snyk-bot avatar sorbx64 avatar sourabhkumar45 avatar subhra264 avatar tend2infinity avatar vanshikaa00 avatar

Stargazers

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

Watchers

 avatar  avatar

pbchess's Issues

Contact us Section .

The site does not have a contact us section. So if a person if facing any issues then he cannot report it.

I would like to add the contact us section.

Revamp Learn Page

The learn Page is so static. Also, UI is not looking so good. I want to change the UI of learn page. Please assign this issue to me.

Make a footer for the homepage

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Not necessarily.

Describe the solution you'd like โœจ
A footer component that renders the following three items:

  • Made with โค๏ธ for the chess community
  • GPLv3 License (links to the license page)
  • Support Us (links back to this repo)

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
Make the bg color for the footer the same as the header.

Provide an article on chess - Chess Vocab: Speaking the common tongue

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
This article is for the learning section of pbchess.

Describe the solution you'd like โœจ

  • Provide a list of all possible chess-related words in alphabetical order along with one or two-line descriptions for each.

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
NA

Making a editable user profile page

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
No.

Describe the solution you'd like โœจ
A profile page for the user's information. It should contain:

  1. A profile image for the user (editable)
  2. Username (unedtiable)
  3. When user Joined (uneditable)
  4. Fullname (editable)
  5. Email address (editable)
  6. Gender (editable)
  7. Country (editable)
  8. An Edit Profile button and following that a View Games button.

Profile page should look as below in additional context.

On pressing the edit profile button a popup fullscreen edit modal should appear for filling the new details that will replace the old ones. And it should be as below in additional context.

Describe alternatives you've considered ๐ŸŒŸ
N/A

Additional context ๐Ÿ“
Add any other context or screenshots about the feature request here.

  • Edit profile button should only appear for user that is related to the profile, for other users edit profile button should not appear.

Mockups

Profile page

Profile Page Edit Modal

Adding script to install all packages at once

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
It's always easier and faster to install all packages on the server and the client-side by running one script

Describe the solution you'd like โœจ
I will add the "setup" script to the package.json in the root directory through which all packages on both sides will be installed simultaneously.

Describe alternatives you've considered ๐ŸŒŸ
There are not many alternatives to be discussed since this is more an improvement than a feature

Additional context ๐Ÿ“
This will be very helpful in the quick setup of the project

Landing Page UI

Describe the bug ๐Ÿ›
The Carousel arrow key is overlapping with the image of the chessboard.
The gradient colour which is used for the card is also too light according to the theme of the landing page

To Reproduce ๐Ÿ”
Steps to reproduce the behaviour:

  1. Go to 'https://develop--pbchess.netlify.app/'

Expected behaviour ๐Ÿ
The arrow key and image of the chessboard should not overlap with each other.
The gradient colour should also be a dark colour

Screenshots ๐Ÿ“ท
original pbChess

Desktop (please complete the following information): ๐Ÿ’ป

  • OS: Windows10
  • Browser Chrome
  • Version [e.g. 22]

Alerting the user via an email when he/she registers without using google.

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
The website lacks the feature of sending emails when a user registers himself/herself without using google.

Describe the solution you'd like โœจ
I would like to use the nodemailer module to send emails to the client when a user registers without using google.

Add Login with Lichess

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Lichess now offers OAuth, which means a "Login with Lichess" button is within reach. And although it sounds ironic, it would be the epitome of foss+chess enthusiasm to include such a button.

Describe the solution you'd like โœจ
Add the "Login with Lichess" button (under the google one). All sensitive variables will be stored in the .env file so that the maintainers can replicate the app in production.

Describe alternatives you've considered ๐ŸŒŸ
Not including the bu.... gosh, I can't even fathom such a thing ๐Ÿ˜จ

Additional context ๐Ÿ“
โ™Ÿ๏ธ + โ˜ฎ๏ธ = โค๏ธ
[gsSoC '21]

Create a component for solving chess puzzles

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
The puzzles page would allow a user to practice random puzzles with varying ELO ratings. The basic functionality including but not limited to:

  • whenever the user visits the page, a random chess puzzle is generated for them to solve
  • a chessboard would be displaying for acting as an interface
  • an error would pop up indicating a wrong move at every turn should a user do so
  • a verdict would be given if the user has been able to successfully solve it
  • two buttons for navigating to the next random puzzle as well as to the previous puzzle
  • the previous button would be disabled when a user first visits or refreshes
  • on clicking previous and next consecutively shouldn't display a random puzzle but the one that has been visited before

Describe the solution you'd like โœจ
The puzzles component will consist of the following elements:

  • The chessboard
    • use react-chessground for the UI, chess.js for the logic and chessblunders for the API
  • The previous and the next button
    • In order to access the specific puzzle, maintain a state for all the visited puzzle ids until the next exit or refresh

Describe alternatives you've considered ๐ŸŒŸ
Haven't considered any other alternatives but open to suggestions โ˜บ๏ธ

Additional context ๐Ÿ“

For the API, create a new service class called PuzzleService and save it inside the client/src/services folder named puzzle.service.js. The class should contain a method called getPuzzle(<optional id argument>) which calls the following endpoint - https://chessblunders.org/api/blunder/get, method=POST and body includes -

{
    "type": "explore"
}

For further references regarding the implementation, you could check game.js and game.controller.js except the logic would be handled on the client-side!

add contributing.md

Hi I would like to create a file contributing.md and add the following -
Difference between GIT and GITHUB
How to clone,fork repository
How to create a branch and then use git push to push to repo
Create a PR
Squash commits in a single issue into one
Updating the forked and local repo as the updations are made in the upstream

Fix the Navbar Dropdown and LogOut

Describe the bug ๐Ÿ›
The current dropdown in the navbar has the following issues:

  • The background color and the text color are the same
  • It overflows in the desktop view
  • It takes up the entire viewport in mobile view
  • After clicking logout, the UI doesn't change and needs a manual reload

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:

  1. Go to /register or /login page
  2. Register or Login as a user
  3. Click on your username dropdown

Expected behavior ๐Ÿ

  • Background color should be #1d1e22
  • Text color should be rgba(255, 255, 255, 0.5)
  • The dropdown shouldn't overflow in the desktop view
  • Clicking on the logout should rerender the navbar and the Login link must appear instead of 'username (dropdown)'

Screenshots ๐Ÿ“ท

  • Desktop

desktop

desktop

  • Smatphone
    smartphone

Desktop (please complete the following information): ๐Ÿ’ป

  • OS: [e.g. e.g. ubuntu 20.04]
  • Browser [e.g. chrome]
  • Version [e.g. 87]

Smartphone (please complete the following information): ๐Ÿ“ฑ

  • Device: [e.g. pixel 2]
  • Browser [e.g. chrome]
  • Version [e.g. 87]

Additional context ๐Ÿ“
NA

Fix unit test for rendering component

Describe the bug ๐Ÿ›
Currently, Navbar, Profile, Lobby, and PrivateRoute components are throwing error for the unit test - renders without crashing!

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:

  1. Go to /client/src/test/App.test.js
  2. Uncomment the commented lines
  3. Run npm test inside the client folder
  4. Check the error message

Expected behavior ๐Ÿ
To pass the test for all the components.

Screenshots ๐Ÿ“ท
code

Desktop (please complete the following information): ๐Ÿ’ป

  • OS: [e.g. ubuntu]
  • Node.js [version - 12.18.3]

Smartphone (please complete the following information): ๐Ÿ“ฑ
NA

Additional context ๐Ÿ“
NA

Video player extends out of visible area

ISSUE DETAILS
Currently, the video player extends the scope of the visible area which makes it difficult to see the entire board in one go.
Also, the player overlaps the vocabulary section on some small screen sizes.

We can display the player with a size corresponding to the screen sizes.

Hey @fave77, I am a GSSOC 2021 participant. I would like to work on the issue.
Could you please update the issue with relevant tags and assign the same (Aanchal#1668)?

Provide unit tests for keys.config.js

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
This is related to unit testing for the file keys.config.js.

Describe the solution you'd like โœจ

  • Create a file inside server/test/ named as keys.config.spec.js for one of the config files inside server/src/configs/.
  • Make unit tests in jest for the function genKeyPair

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
NA

[GSSOC'21] [Documentation] Endgames

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
An article on endgames for learning section of pbchess

Describe the solution you'd like โœจ
A 3000-word article on different endgames like rook endgame, king and pawn end game etc with in depth analysis submitted as a markdown file

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
NA

Addition of timer feature

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
A timer can be added beside the player that would count-down for the player who has to make current move.

Describe the solution you'd like โœจ
UI suggested by @fave77 :
image

Include a link to the /register page from the login card

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Not necessarily, but it does increase user experience.

Describe the solution you'd like โœจ
Modify the login card to include a link to the /register page like so:
image

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
It would be more apt if we can get rid of the register link from the header since this is a one-time procedure. So, there should be only a Login link (due to frequent access) via which a new user can access the /register page.

working with mongoose means working with promises

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
if you are working with mongoose, means you are working with promises. So, you need to handle promise. This is an easy fix but good for long term.

Describe the solution you'd like โœจ
I suggest instead of this:

connect(mongoURI, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true,
});

You should do this:

    mongoose
      .connect(mongoURI, {
        useNewUrlParser: true,
        useUnifiedTopology: true, 
        useCreateIndex: true,
        useFindAndModify: false,
      })
      .then(() => {
        console.log('Connected to mongo db');
      })
      .catch((err) => {
        console.log("Couldn't connect to mongo db, err: ", err);
      });

Scroll to top of the page button

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Scroll to top of the page button is not present in "Learn" page.

Describe the solution you'd like โœจ
A clear and concise description of what you want to happen.
I would like to add this and want to contribute as a part of GSSOC 2021.

Describe alternatives you've considered ๐ŸŒŸ
A clear and concise description of any alternative solutions or features you've considered.

Additional context ๐Ÿ“
Add any other context or screenshots about the feature request here.

Kindly assign me this issue.

Suggestion: Add contributing guidelines

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Any new contributor has to figure about project structure and has to spent quite some time figuring it out. It would be very helpful if there is a contributing guidelines for their help.
I am also new to this repo. Admins may look after it.

Describe the solution you'd like โœจ
Add CONTRIBUTING.md file with steps
Add .env.sample file providing default environment variables (May I do this part?)

[GSSOC'21] Improve Readme

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
There are few things missing in readme like how to get started for developers , features of projects etc

Describe the solution you'd like โœจ
I would edit the readme file and make it better . It will be easy to understand for developers.

Please asssign this issue to me as part of gssoc'21.
My Discord Username : kyadav#6342

Adding Contributor section in the website

Original proposal

I will like to add a feature this will update contributor list in read me automatically !! Will start to work on this issue as soon as i get assigned !!

Counter Proposal

contributor list already exists on the repository's home page, it would be nice to create a page for the website though. /contributors would list all the contributors sorted by the number of commits and lines of code added.
The list would update automatically whenever a PR gets merged and it shouldn't contain bots as a contributor.
For the UI, on a 13-inch display, a row would contain 3 cards, and you can increase or decrease the number according to different form-factors, Each card would display the contributor's GitHub image, full name, username, and then clicking the card would redirect to their GitHub profile. Add animations for elevating the UX to a seamless experience.

Revised Proposal

I believe adding contributors in a website would require it to load dynamically from contributor website which might require us to run that in the server as a scrapper for the website.
But the question arises that is it legal to scrape github webpages and abide by the policies

Final Proposal

Let's say we compromise real-time update for getting rid of web scraping, then can you look into any GitHub APIs that exist for retrieving such data (even if it isn't real time). Maybe we could assign a scheduler to call the api once a day for updates. There is actually a github API for that, https://docs.github.com/en/rest/reference/repos#list-repository-contributors, found it through an answer on stackoverflow.
If you like the idea to show contributors at /contributors, you can have a look at it, there maybe more limitations but it also provides the number of contributions ๐Ÿ‘ For this repo, it will be: https://api.github.com/repos/fave77/pbchess/contributors

can create a video library of chess matches/chess moves

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like โœจ
A clear and concise description of what you want to happen.

Describe alternatives you've considered ๐ŸŒŸ
A clear and concise description of any alternative solutions or features you've considered.

Additional context ๐Ÿ“
Add any other context or screenshots about the feature request here.

Rule for all pieces of chess as part of gssoc'21

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
There are people who don't know the rules of chess pieces. It would be good if there is a written set of rules section of pieces like how a queen can move, how pawn can move and kill opponent etc

Describe the solution you'd like โœจ
I would like to add tab of rules on navigation bar which would describe the rules of all the chess pieces.
Please assign this issue to me as part of gssoc'21.
My Discord Username : kyadav#6342

Learn page not scaling properly when viewed on mobile screen

Describe the bug ๐Ÿ›
Learn page is not scaling accordingly when viewed on mobile screen. A lot of spacing on right side could be seen when you zoom out.

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:

  1. Go to https://develop--pbchess.netlify.app/learn
  2. Inspect the page and click on toggle device toolbar
  3. Choose any mobile device, say galaxy s5
  4. See the error

Expected behaviour ๐Ÿ
The page should scale out properly occupying full width of screen size available

Screenshots ๐Ÿ“ท
image

Desktop (please complete the following information): ๐Ÿ’ป

  • Works fine on desktop

Smartphone (please complete the following information): ๐Ÿ“ฑ

  • Device: Galaxy S5
  • Browser: Chrome

Provide Join/create instead option

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Assuming the following situation:
A user might have code for a room. He/she visited the play page, and clicked on create game by mistake instead of join game.
In such case, the user has to manually reload the page in order to click on join game again.
In order to prevent this, we can have a small link/button on the lobby code dialog, clicking on which user can cancel new room action and join to a game instead
Similar situations might hapeen the other way. Someone had to create a game, but click on join by mistake.

Describe the solution you'd like โœจ
A link/button to bottom-left of copy code dialog, similar to Login instead we see on sign up pages. It would cancel the create room process and replace it with the join room dialog.
Similar link/button to replace join room dialog with create room dialog
Additionally, what is the extra comma that appears after copy code button?
It is there by mistake, we can remove that if it is so.

Additional context ๐Ÿ“
Something like this:
image

Give an option for timer and who plays first

Is your feature request related to a problem? Please describe. ๐Ÿ’ก

Nope.

Describe the solution you'd like โœจ

Add a kind of option panel, for timer, like allow players to choose how much time the want.
Give an option for who wants to play white

Describe alternatives you've considered ๐ŸŒŸ

No. I believe it will be an essential thing

Additional context ๐Ÿ“

Nope. Just a big thanks :)

Implementing Change Password

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
The user currently has no way to change his/her password.

Describe the solution you'd like โœจ
I would build a component inside the drop down menu providing the user to change his/her password. The request would be sent to the client over a new route. The server then sends the user an email to change his/her password.

Provide an article on chess - Chess Engines 101: Looking through the Machineโ€™s Lens

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
This article is for the learning section of pbchess.

Describe the solution you'd like โœจ
Provide an article under 1000 words that also fulfill 5 min read time. It should consist of plenty of images, elaborations wherever it needs. Simply put, it should be visually stunning and engaging, and must be submitted as a Markdown file named chess_engines.md inside .github/lessons/.

The title for the article is - Chess Engines 101: Looking through the Machineโ€™s Lens

  • It should briefly explain what is a chess engine
  • How it works under the hood
  • Basic algorithms and idea that goes into making chess engines
  • Give a specific example of a chess engine with Stockfish, talk about its success and ratings a bit
  • Later, move on to AlphaZero, its success, and inner workings a bit
  • Lastly, discuss the dichotomy of AlphaZero and traditional chess engines like Stockfish
  • End the article posing an open-ended question on how the chess engines would evolve in the near future and what that means for us humans
  • The article needs to be free of basic grammatical errors so consider using Grammarly!

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
Do note that the issue is marked as moderate for a reason, not so much on the requirements but on expectations. Feel free to reach out to discuss crafting it.

Provide unit tests for chess.service.js

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
This is related to unit testing for the file chess.service.js.

Describe the solution you'd like โœจ

  • Create a file inside server/test/services named chess.service.spec.js for writing the unit tests.
  • Write the tests along with required sandboxes in jest for the functions validatePawnPromotion and evaluateGame

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
NA

Learn section has letter tabs without terms

ISSUE DETAILS
Currently, the learn section has some alphabet tabs that are clickable but do not redirect to the terms with that alphabet, as there are no terms starting with that letter.
This hampers user experience as the user might think of it as a flaw wherein the alphabet is not directing to the terms.
Also, the code structure has been created by statically defining and creating links for all the alphabets.

The alphabets should only be present for which the terms exist in vocabulary.
The code structure can be improved by creating the links dynamically (rather than static typing) on the basis of the terms for better code quality and readability.

Make the homepage carousel responsive and readable

Describe the bug ๐Ÿ›
The carousel seems to be non-responsive on smaller form factors and tends to overflow from the viewport. The quote isn't readable due to it being overlaid onto the image.

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:

  1. Go to the homepage

Expected behavior ๐Ÿ
A responsive carousel card that consists of the image at the top and a quote at the bottom. The bg color for the card must be different than that of the bg color of the homepage as well as that from the quote's text color. The width of the card must be 70-80% of the viewport width depending on the device.

Screenshots ๐Ÿ“ท

  • Desktop
    desktop

  • Smartphone
    smartphone

Desktop (please complete the following information): ๐Ÿ’ป

  • OS: [e.g. ubuntu 20.04]
  • Browser [e.g. chrome]
  • Version [e.g. 87]

Smartphone (please complete the following information): ๐Ÿ“ฑ

  • Device: [e.g. redmi k20 pro]
  • OS: [e.g. android 10]
  • Browser [e.g. chrome]
  • Version [e.g. 87]

Additional context ๐Ÿ“
NA

add contributing.md

Hi! I would like to add contributing.md to the repo which states on how to clone and fork the repo,how to add ,create and push a repo,squash commits,rebase your feature branch ,how to update forked repo as well as local repo to the changes made in upstream.
I would like to work on this under GSSOC'21.

Multiple users can login with the same email

Describe the bug ๐Ÿ›
A user with the same email can register using a different username.

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:
Use a different username while registering. A new user is formed with the same email.

Provide an article on chess - Grokking Chess: Fundamentals, Principles, and Checkmate Patterns

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
This article is for the learning section of pbchess.

Describe the solution you'd like โœจ
Provide an article under 1000 words that also fulfill 5 min read time. It should consist of plenty of images, elaborations wherever it needs. Simply put, it should be visually stunning and engaging, and must be submitted as a Markdown file named grokking_chess.md inside .github/lessons/.

The title for the articles is - Grokking Chess: Fundamentals, Principles, and Checkmate Patterns

  • It should contain three sections such as fundamentals, principles, and checkmate patterns
  • You can take help or insights from any resources but make sure it isn't plagiarized.
  • The fundamentals would focus mainly on how to play chess, basic history, how the pieces work, how to set the board, etc.
  • The principles would talk about tactics, strategies, opening theories, etc.
  • The checkmate patterns would focus on ...well checkmates of course but also endgames, stalemate patterns, and so on...
  • Lastly, https://smallseotools.com/plagiarism-checker/ should reflect the plagiarism to be less than 15%
  • The article needs to be free of basic grammatical errors so consider using Grammarly!

Describe alternatives you've considered ๐ŸŒŸ
NA

Additional context ๐Ÿ“
Do note that the issue is marked as moderate for a reason, not so much on the requirements but on expectations. Feel free to reach out to discuss crafting it.

Major Security issue on signing with google

Describe the bug ๐Ÿ›
Major security issue on the signin/google endpoint.

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:
A person can provide any email and login by performing a post request on the signin/google endpoint. I would like to use a token instead of username for logging in the user via google

Adding Avatar to Profile Picture

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
No

Describe the solution you'd like โœจ

  1. Profile avatar for the users. Like this ๐Ÿ‘‡
    Capture
  2. The profile model on the server should be changed from String to ObjectId. and the same changes have to be made on apis.
    Capture

Describe alternatives you've considered ๐ŸŒŸ
You can make use of this npm package: https://www.npmjs.com/package/getavataaars
demo: https://getavataaars.com/

Additional context ๐Ÿ“
These are some properties, which should be implemented.
pbchess

Duplicate users are created during OAuth

Describe the bug ๐Ÿ›

Suppose a username is already taken, a new user with the name same as the username registers using OAuth, there would be two users, with the same username.

To Reproduce ๐Ÿ”
Steps to reproduce the behavior:

Register a user with a username say bob. Now if a second person with the email [email protected] is registering, there would be two users with the username bob.

Expected behaviour ๐Ÿ

If the person with the email [email protected] is registering then :

  1. Check if the username bob is taken.
  2. If the username bob is taken, add few random numbers at the end of the username say bob23456 and register the username.
  3. If the username is not taken, we can simply use bob.

Your/opponent turn prompt

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
There should be a Your/Opponent turn prompt or label on screen. It would be very helpful.
For example, user might take eyes off screen for couple of seconds and miss the opponent's movement. He/she would keep waiting for opponent and opponent would also have to wait. That is not at all good.

Describe the solution you'd like โœจ
We can add a small text to bottom-right/left of screen showing either:
Your turn (Green) or
Opponent's turn (Gray)

Edit: We can add animation for Your turn also to catch attention

Can you assign this to me?

Additional context ๐Ÿ“
Something like:
image

Allow playing with bots

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
Sometimes I burn the midnight oil and during my breaks crave nothing more than a short bullet game. But my friends seem really upset when I call them up and send them the pbchess game ID to my game. ๐Ÿ˜ญ One of them even threatened to mute/block/unfollow me!
I have since decided that I shall make new friends, and the most strategic choice is to get chummy with our future overlords.

Describe the solution you'd like โœจ
I'd like to be able to play against AI bots. Lichess offers a board API that I believe should let us challenge a bot account hosted on their site. This'll probably require some refactoring, but I think I'll be able to get it to work.

Describe alternatives you've considered ๐ŸŒŸ
Blackmail my friends into playing with me. At two in the morning. On a weekday. ๐Ÿ˜ˆ

Additional context ๐Ÿ“
โ™Ÿ๏ธ - ๐Ÿง‘โ€๐Ÿฆฑ + ๐Ÿค– = โค๏ธ ?

Adding Google Authentication

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
The website is lacking Google and Facebook sign in feature

Describe the solution you'd like โœจ
I would like to add sign in with google and sign in with Facebook features.

Please assign me this issue under GSSoC 2021

Implementing the Forgot Password Feature

Is your feature request related to a problem? Please describe. ๐Ÿ’ก
The user is unable to update his/her password, when he/she forgets it. Moreover when he/she logs in using google, their password is a random one.

Describe the solution you'd like โœจ
I would like to implement the feature wherein the user can update his/her password, when he/she forgets it.

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.