Code Monkey home page Code Monkey logo

benezivas / algobattle-web Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.16 MB

Companion webserver for the algobattle framework. Manage Problems, teams with their code and results and schedule automatically executing battles. All packed up in containers.

Home Page: https://algobattle.org

License: MIT License

Python 37.60% Dockerfile 0.57% Mako 0.21% HTML 0.14% Vue 59.73% SCSS 0.34% TypeScript 1.33% Shell 0.09%
coding-contest education lab teaching computer-science-education docker

algobattle-web's People

Contributors

benezivas avatar imogenbits avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

algobattle-web's Issues

Uploading a report fails

The teams of our lab course reported that they were unable to use the upload function that is accessible in the description of a given problem. They were able to open the file upload dialogue, but subsequently selecting the Upload button did not result in any response from the system.

We are able to reproduce this error with our LuFGTI team on algobattle.org. This seems curious, as this did work before.

Inactive problem still selectable in upload dialog

In the upload dialog for generators or solvers, problems currently inactive (Pairsum, 2D Knapsack) are still selectable. However, when attempting to actually upload a program for such a problem, the upload is denied (as probably intended). I'd suggest to make inactive problems not selectable at least, maybe even remove them from the list completely.

U_000034

Add info to results which proportion of points a team received in a scheduled match

As of now, when viewing a result, the distribution of the total number of points to the team members is shown.
It would be nice to see, in an additional column when viewing the details of a match, which proportion of the total points a team achieved, in percent.

As it is sometimes desirable to run matches without any points, or when distributing a number of points that make it hard to calculate this proportion in the head, this allows to judge how well a team did in a match at a glance.

Of course, when 100 points are to be distributed, this information is essentially identical to the number of points achieved, but in all other cases this seems useful to me.

Communicate how long login tokens are valid / Expire after first use

Currently, when logging in, a mail with a login token is sent. This token does however not expire when used once: When e.g. opening a private tab, the same token allows for another login, meaning it does not expire upon use. It would be best if every login token can only be used once.

When receiving a token, it would also be helpful to communicate for how long they are valid until they expire.

Cannot switch to settings from the view of a problem

When selecting the detail view of any problem and subsequently selecting the settings, the link is not followed. Instead, settings replaces the problem name in the url, resulting in a faulty link.

Example:
https://www.algobattle.org/problems/WS23%2F24/Pairsum becomes
https://www.algobattle.org/problems/WS23%2F24/settings

Let users select an active generator and solver

Right now, the latest uploaded solver/generator is the one being used in battles. It would be nice to have an option to set a specific generator/solver as the 'active' one for a given problem (default: the latest one, as it is now).

Error Messages when uploading faulty problem files

When uploading a .algo file that contains a faulty problem.py (e.g. when importing packages that are not set as a requirement in the algobattle.toml) via the upload dialogue, the mask goes through without displaying an error and a new problem is displayed in the list of all problems.

When viewing this newly created problem, the description and schema are not displayed, suggesting that something failed, but what exactly failed cannot be seen by the uploading person, as the appropriate error message is only displayed in the server logs. It would be nice if the user could get feedback that the problem creation did not actually succeed, even better if a concrete reason could be given.

Rename `login` button

The login button does not do what its label states. It would be more intuitive if it read something such as Send Login Link.

Datetime picker inconsistent between different Browsers

When choosing a date and time in the framework, e.g. when creating a new problem, the datetime picker interface does not display an hour and minutes selection using Firefox (120.0.1). This is however the case when using Chromium (120.0.6099.109).

Pre-fill "Edit Result" mask with data of the corresponding result

When editing an existing result, e.g. in order to remove a team from a battle that did not participate or in order to edit points, one has to to manually select for each team which generator and solver should be associated with the result.

The date field is also behaving unintuitively: The result is saved with a starting date that is precise up to a second, but non-zero seconds may not be saved.

It would be nice if the editing mask would be filled with the required data such that single changes can be made without having to select and edit multiple other fields before being able to save.

Set upload file size limit

It would be helpful to be able to configure that maximum size of a generator/solver that a user may upload. Right now, in the default configuration, the webserver already rejects such files when they are 15MB large.

Create separate, verbose logs visible only for admins

Right now, the only visible logs for problem are those published for all members of the tournament. For debugging purposes, it would however be very helpful to also have a verbose log available, by default only readable for admins.

Adding result by hand fails

I am trying to add a new result for a problem by hand:

I have created a dummy problem for bug bounties, which is dated in the past. I am now trying to add a result using the "Add result" mask on the corresponding page. Selecting this dummy problem, adding one team, selecting "None" for solvers and generators, dating the problem in the past and then trying to send off this data does not work: Clicking the corresponding button has no effect.

The backend reports "422 Unprocessable Entity", but gives no further information.
Some more detail on the data entered for reproducibility:
Date: 2023-10-31 00:01 AM
Problem: Bug Bounty
Status: Complete
Log File: None Selected
One team added, "Team Tiger" with "None" selected for Solver and Generator, 70 points selected

Results view breaks when moving a team out of a tournament

Assume a team is part of a tournament and already participated in some battles, resulting in some entries in the results tab.

Now assume you change the tournament of the team. If anyone now tries to view these same results, the results tab breaks.

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.