Git Product home page Git Product logo

multiplayer-sudoku's People

Contributors

alexanderjcs avatar makaip avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

makaip

multiplayer-sudoku's Issues

Timeout Timer

Add a timer next to the game ID that will show the hours until the room times out

Asynchronous loading of socketio

socket.io takes a long time to load (300 ms - 1 second or so). We could instead:

  1. Load the webpage with an empty board
  2. Load socket.io asynchronously
  3. When socket.io loads, establish the connection and set up the event listeners
  4. Continue operation like normal

Which would reduce the perceived wait time for the user, since the webpage has loaded.

User Identification

The current location of each user's cursor is shown by a highlighted box. There will be a key of each box color and the person's name on the right-side of the screen.

Pencil in 9 numbers

Currently there is a hard-coded cap to only pencil in 5 numbers. I propose making a newline after 5 characters and allowing up to all 9 numbers

Game ID should not be bold

Visual improvement: "Game ID" should be bold but the actual game ID itself should not (in this case, "abc")
image

Player Score

Players should receive 10 points when they enter a correct number. They have 10 points remove a number, and 5 points removed if they enter an incorrect number

README

A readme needs to be created.

Will contain information on how to install, develop, as well as put into production.

Also will include screenshots, and a link to a live server once created

Code Refactor

Front-end code needs to be split into multiple files desperately.

Themes

Add the option for different color themes. An extension of issue #1.

Configuration File

This application needs an easy-to-use config file that contains the server port and IP that the websocket client should connect to.

Puzzle Generation

Sudoku puzzles need to be randomly selected from a database (to make sure that there is little time needed to actually create the puzzle).

What needs to be done:

  1. Create the SQLite (or maybe NoSQL?) database containing ~1000 easy, medium, hard, expert, and insane difficulties (names can be decided on)
  2. Read from that database when creating the Board class

Security Vulernabilities

Check some TODO messages in app.py for potential security vulnerabilities:

# TODO: Add the SECRET_KEY configuration to the app object.
# TODO: security vulnerability - check the message before broadcasting it to all clients.

Mobile Support

Mobile support can be easily added by double-checking the scaling and adding a bunch of buttons from 1-9 (and a backspace)

Stuck on "Connecting..."

Sometimes socket.io can't connect to the server and it hangs on "Connecting...". This is rare and not reproducible, but is quite annoying when it happens. This is solved by refreshing the page.

If socket.io doesn't receive a connection event within a few seconds, the frontend should try refreshing the page.

image
image

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.