Giter Site home page Giter Site logo

goldennum's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar forewing avatar stardustdl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

goldennum's Issues

[FEATURE] Add docker support

Is your feature request related to a problem? Please describe.

Current project has no docker config provided

Describe the solution you'd like

Add Dockerfile, docker-compose.yml

[FEATURE] Support running BOT script on browser

Is your feature request related to a problem? Please describe.

  • Players now have to develop and run BOTs on their own computer. We should provide an alternative which enable them to develop and run their BOTs on the browser.

Describe the solution you'd like

  • Use Brython to run user scripts in Python on browser.
  • Brython should call provided API client functions to interactive with the game.
  • Use Monaco as editor.

Describe alternatives you've considered

  • Let players submitting binary/scripts and executing on the server. But this approach may lead to exploiting and hacking.

[BUG] Room.tick() panic will kill the program

Describe the bug
Room.tick() does not have a recover function, and is started as a goroutine.

The program will exit instead of recover once panic.

To Reproduce
Make Room.tick() panic, read a nil pointer, eg.

Expected behavior
Recover from panic and log the error.

[DOC] Add document

Describe the solution you'd like

Add document

Checklist

  • Usage
  • Deploy guide
  • Troubleshoot
  • API spec
  • Developers' guide

[BUG] Frontend send roomCreate request with string as field data instead of int

Describe the bug
A clear and concise description of what the bug is.

To Reproduce

  1. Go to admin panel

  2. Edit interval or rounds field

  3. Submit to create a new room

  4. Room creation failed, server logs show:

    WARN views/room.go:38 RoomCreate, json: cannot unmarshal string into Go struct field roomCreateModel.Interval of type int
    

[TODO] add frontend

Describe the solution you'd like

Add frontend

Gamer panel

  1. Select room to enter on the first load
  2. Room info dashboard
    • Rounds/Times
    • Goldennum history
    • User rank
  3. User create/sign in/sign out
  4. Submit

Admin panel

  1. Room manage
    • Create
    • Start/Stop
    • Interval/Round update
  2. User manage
    • Password reset

Checklist

  • Gamer panel
  • Admin panel

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.