Skip to content

Responsive web app to play chess with other players matched based on rankings, real-time notifications, and chat with friends.

License

Notifications You must be signed in to change notification settings

AkashSDas/knightfall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

239 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Knightfall

Play online chess with other players and make friends.

Cover image

Demo

Features

  • Play chess with others in real-time (socket rooms)
  • Lobby for finding players with similar ranks
  • Send friend requests, block/accept them
  • Chat with friends in real-time (use server state and corn job for quick response)
  • Real-time notification system
  • OAuth w/ Google, magic email login, access/refresh token system
  • Search for players (pagination)
  • Fully responsive
  • Design system (Figma)

Getting Started

Environment variables:

Create backend/.env file and then add content of backend/.env.example in it along with missing env variables. Do the same with frontend/.env and frontend/.env.example.

cp ./backend/.env.example ./backend/.env
cp ./frontend/.env.example ./frontend/.env

Starting backend:

cd backend/
pnpm install
pnpm run dev

Starting frontend:

cd frontend/
pnpm install
pnpm run dev

Technologies

Frontend:

  • TypeScript, React, React Router
  • React Query, React Hook Form, Redux Toolkit, Zod
  • ChakraUI, Framer Motions
  • SocketIO
  • Storybook, Jest, React Testing Lib

Backend:

  • Express, SocketIO, Zod
  • PassportJS, JWT
  • MongoDB, Mongoose, Typegoose
  • Swagger, Cloudinary
  • Jest

Next Steps

  • Since each move played board state is saved, game play can be added along with player's past games
  • Just like chat between friends, global chat could be a place where any user can come in and chat
  • Invite friend for a game
  • Add test cases and storybook
  • Play with "computer"

License

MIT License

About

Responsive web app to play chess with other players matched based on rankings, real-time notifications, and chat with friends.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages