Skip to content

A decentralized realtime 1 vs 1 chess game with self analysis

Notifications You must be signed in to change notification settings

geekyAnkush/kchess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kchess

❗ This project is still in the early stages of development and should be considered unstable. Expect bugs and weird behavior.

Chess DAPP.

  • play against other users in real-time
  • Store games archive on blockchain
  • spectate and chat in ongoing games with other users
  • optional user accounts for tracking stats and game history (wip)
  • mobile-friendly (wip)

Built with Next.js 13, Tailwind CSS + daisyUI,chess.js,Gun Js, Express.js, socket.io and PostgreSQL.

Configuration

This project is structured as a monorepo using npm workspaces, separated into three packages:

  • client - Next.js application for the front-end
  • server - Node/Express.js application for the back-end
  • types - Shared type definitions for the client and server.

Scripts

# install all dependencies, including eslint and prettier for development
npm install

# concurrently run frontend and backend development servers
npm run dev # -w client/server to run only one


# for separate production deployments
npm install -w client
npm install -w server

npm run build -w client
npm run build -w server

npm start -w client
npm start -w server

For separate deployments, you may exclude the client or server directory. However, you should include the types folder as it contains shared type definitions that are required by both packages.

Environment variables

You may create a .env file in each package directory to set their environment variables.

client:

NEXT_PUBLIC_API_URL=http://localhost:3001 # replace with backend URL

server:

CORS_ORIGIN=http://localhost:3000 # replace with frontend URL
PORT=3001
SESSION_SECRET=randomstring # replace for security

# PostgreSQL connection info (required)
PGHOST=db.example.com
PGUSER=exampleuser
PGPASSWORD=examplepassword
PGDATABASE=kchess
# or use a connection string instead
DATABASE_URL=postgres://...

About

A decentralized realtime 1 vs 1 chess game with self analysis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published