Skip to content

A project based on chess.com where users can add friends, send messages, and play a game of chess with another user.

Notifications You must be signed in to change notification settings

peter-monahan/Just-Chess

Repository files navigation

JustChess

JustChess is a loose clone of chess.com.

Technologies used

Frontend

  • Javascript
  • React
  • Redux
  • Socket.IO

Backend

  • Python
  • Flask
  • Flask-SocketIO
  • SQLAlchemy
  • PostgreSQL

How to run locally

  1. Clone the repository
git clone https://github.com/peter-monahan/Just-Chess
  1. Install python dependencies
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
  1. Create a .env file based on the example provided

  2. Run the following command to open the pipenv shell

pipenv shell
  1. Migrate the database
flask db upgrade
  1. Seed the database
flask seed all
  1. Run the flask app
flask run
  1. Navigate to react-app

  2. Install dependencies

npm install
  1. Start the frontend server
npm start

The application will now be running at http://localhost:3000/

MVP Features

Game Invites

A logged in user can:

  • Send a game invite to another user
  • Accept a game invite from another user
  • Delete game invites you sent
  • Decline game invites you received

Games

A logged in user can:

  • Create a game by accepting a game invite
  • View the games that you are a part of
  • Edit a game by moving a piece when it is your turn
  • Delete a game by ending the game.
    • A game can end either by checkmate, stalemate, or resignation.

Messages

A logged in user can:

  • Send a message to another user
  • View message history between you and another user
  • Edit a previously sent message
  • Delete a previously sent message

Friend Requests

A logged in user can:

  • Send a friend request to another user
  • Accept a friend request from another user
  • Delete friend requests you sent
  • Decline friend requests you received

Friends

A logged in user can:

  • Add a friend by accepting a friend request
  • View current friends
  • TODO
    • Unfriend a user

Images

User Page

image

Game Page

image

image

image

Messages Component

image

Planned Features

  • Add ability to chat with your opponent from the game page
  • Notify the user when they have a new message, or when a game has been updated
  • Allow users to add a profile picture, add a bio, and delete their profile
  • Add a search option to find a specific user
  • Keep track of game history and assign ranking to users
  • Add AI opponents
  • Improve overall styling

About

A project based on chess.com where users can add friends, send messages, and play a game of chess with another user.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages