GithubHelp home page GithubHelp logo

jonpchin / gochess Goto Github PK

View Code? Open in Web Editor NEW
46.0 46.0 17.0 25.3 MB

Online real time chess web server using websockets

License: MIT License

HTML 12.13% CSS 2.92% JavaScript 23.20% Go 61.49% Shell 0.26%
chess multiplayer websockets

gochess's Introduction

Hi there ๐Ÿ‘‹

  • ๐Ÿ”ญ Iโ€™m currently working on tb2d, a free to play online multiplayer competitive 2D shooter game. Join the tb2d discord server to access the open beta: https://discord.gg/6NzkgQSwzq
  • โšก Fun fact: I am also the developer of Jin Conception: https://jin-conception.com

gochess's People

Contributors

jonpchin 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  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gochess's Issues

Export database to a backup directory

Export database to a backup directory one directory above web root, have this export run in a cron job daily. When server starts check to see if they are any .sql files in the backup directory older then 60 days and delete them.

Integration of an automation build tool

Integration of an automation build tool, investigate build tool options in Golang and try either Robo or Godo.
The build tool should check to see if all the third party packages are in the right directory, if not it calls go get to fetch the package. Build tool should also check if all the environment variables are properly set up the Linux production environment. If its Windows development environment it should not change any of its environment variables.

Performance Monitoring

Implement performance monitoring to reduce bottle necks and improve server performance

Add multichess feature

Add multichess feature where players can be on teams for either white or black and vote on moves every 30 seconds.

Back end clock not syncing

Fix bug with back end clock not syncing with front end clock.
Note* This is not easy to replicate or debug.

Allow arrows to be draw on chessboard in setup mode on shift right click

Allow arrows to be draw on chessboard in setup mode on shift right click. Allow squares to be red on one right click and green on two right clicks. Third click resets square color to normal. Add a new page for board setup mode. Allow a clear button and ability to set pieces anywhere on the board by click/drag to board.

Pass in localhost or goplaychess.com through command line parsing

Pass in localhost or goplaychess.com through command line parsing to main.go and memberchess.js in the appropriate places so the production.py and development.py do not have to be run. Also don't forget to update configuration for supervisor to pass in correct command line arguments.

Make default constants configurable in JSON file

Make default constants configurable in JSON file so that if a parameter needs to be changed it can be modified in the JSON file without having to recompile the application again. An example of a constant that could be configured would be the 30 days in gostuff.RemoveOldGames(30)

User analytics for owner

Add ability to have server analyze database info such as all users who have same IP address and group users for display to easily see who could possible be the same person. Use an IP lookup to map IP to country location and display percentage of each user from each country. Display statistics of browsers users are using, etc

Server Self Diagnosis

Server should periodically diagnosis its CPU, memory, bandwidth load, etc to see if there are any issues and send emails/text messages to owner of its system status.

Piece promotion bug

When a piece reaches 1st or 8th rank it prompts for a piece promotion. Add a check to make sure the piece that is moving from the 7th to 8th rank or 2nd to 1st rank is a pawn only.

Allow players to review games on mobile device

Allow players to review games on mobile device. Right now the next and back buttons when reviewing game are not visible so users can't review their finished chess games. Mobile devices are small so it may not be possible to fit any more buttons on a small screen.

Removed incorrect if pawn already moved logic, need to reimplement

Removed incorrect if pawn already moved logic then do not allow it to jump two squares, need to reimplement this logic. An example: Game ID 88 where h file pawn captures onto g file pawn and g6 pawn moves to g5 now g7 pawn can't move two squares even though it should be allowed

Increase traffic to site

Blog, make forum posts, advertise in chat rooms, trade links, etc. Specifically target chess players of all ages.

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.