acm-mu / abacus Goto Github PK
View Code? Open in Web Editor NEWOpen Source Competition Software
Home Page: http://codeabac.us
Open Source Competition Software
Home Page: http://codeabac.us
Have it so that if a user is not logged in, when they access a specific division of the website, they are only presented tabs they have access to.
I am not logged in and when I access the blue division side of the site, I am only displayed with the home page and standings.
This makes the UI cleaner and prevents the need for displaying 401 errors on those pages.
At the top of the page show, an alert with a message stating that abacus cannot communicate with the servers and some features may not operate correctly. Also, include a 15-second retry timer.
Better inform the user what is going on and diagnosing the problem
Create a problem page for admin and judges to view information about problems including submissions and statistics. From this page, the admin can open the edit problem page which is already implemented.
Provide judges and admins information about problems to troubleshoot issues, and analyze problem's statistics.
Submit button is still showing when problem is solved.
User cannot log into the app after a failed attempt. In order to do this, they must reload the page and try again.
Try to log into an account with an incorrect password. Now, enter the correct password and try to log in and the request is still denied.
The user should be able to log in.
User log in is denied.
After a team has successfully solved a problem. Disable future submissions.
Although why would a team make another submission, stop them from accidently doing it.
When trying to upload problem.json the console was throwing JSON.parse error.
Check for users as well
Stdout is stored by PistonRunner lambda in problem's tests property
Create a practice problem type that can be attempted outside of the competition time for testing purposes, and does not go towards team's score.
The current home page presents information about the competition. I propose we take that page and make it the "About" page and make the home page have a table of all registered teams, their division, and high school.
The motivation behind this is the organization of the overall site as well as allowing teams to confirm they are registered. One other benefit could be increasing competition by showing the number of teams entered in the competition.
When loading users, submissions, and clarifications request / provide 25 items per request when showing all items on the judges and admin pages.
Semantic UI Pagination
Example of Pagination
Provide better performance during the competition as submissions and user volume grows
Anytime a button is pressed that triggers something to be done, or the website is fetching data indicate so. This is already implemented in some places of the website, but this ticket is to have it done wherever possible to provide a better user experience.
When clicking submit button on practice problems, a loader appears until the problem is submitted.
User Experience
When editing a problem's description the textarea does not expand to fit the current description. Not until the user hits a key in the textarea.
Go to Admin > Problems > (Pick any problem) -> Description.
The description textarea should be expanded when the page is opened.
Also admins to bulk delete users.
The user list could include checkboxes to select and a delete button to delete selected items. Another option is create a separate page to select which teams to delete.
When creating sample user accounts for a test competition, clear out the sample users before the actual competition. Also, a handy feature to have.
SSL certificate not being passed through upon login. Noticed this when I logged into an account and Chrome prompted me with a "your connection is not secure" warning.
Visit codeabac.us and log into any user account. I, specifically, was using Chrome.
SSL should be passed through and there should be no service interruption.
SSL not passed and "not secure" warning prompted from web browser.
On user logout, we are currently still trying to load whatever page they were previously on while logged in. This results in a 401 - Unauthorized error (expected behavior for a non-logged in viewer). I propose that we redirect them to the main homepage for aesthetics and overall flow of the software.
I would like the user to be redirected to the homepage.
The user is presented with a 401 error.
UI issue where clarifications table is split after a certain number of columns.
Log into an admin account and look at the main clarifications table.
No clarifications should display across the whole table.
Table is segmented after a certain number of columns
Checkbox doesn't work on users page.
Login as an admin. Head to the users page. Try to click the checkbox of a singular user.
Checkbox should become checked/unchecked depending on state
Checkbox does not change states.
Either one solution reference per problem, or variable amount (java reference & python reference)
stretch: allow generating test data by providing input and running against solution to generate output
Create as a modal and embed on several pages throughout teams pages (Problem pages, Submission pages, etc.)
Stretch: Depending on where it is invoked default to category (Submission clarification, Problem clarification)
As a user of Abacus, I would like specific account settings such as:
I would like this feature so that I do not have to contact an admin every time I want to change one of these settings.
The user page doesn't refresh after a user creation / doesn't update the table on the page with the new user.
401 Unauthorized Errors given while waiting for certain pages to load on team accounts.
Page should load without displaying 401 error or should display a loading icon while waiting for data from backend.
401 error displayed while waiting for data to finish loading.
When creating or modifying a problem in the admin interface, test numbers don't update properly.
Create a new problem, add 2 tests (3 total), delete the second and add a third. The second and third test will have the same test number.
After deleting the second test, the numbers should update to 1 and 2 (instead of staying 1 and 3)
Test numbers are stagnant resulting in duplicate test numbers
In the admin dashboard, if the user tries to set the end date before the start date warn the user and don't go through with updating the database.
Either could check before submitting the form, don't allow the form to be submitted unless the fields are valid, or implement on the backend (return an error) and parse on the client.
The application should not allow this to happen because it is not acceptable behavior.
Setup tests for backend endpoints using aws-sdk-mock (or alternatives) to run locally, on push, and before merging to master
Refine and fortify CI/CD pipeline
More statistics displayed on load for the admin dashboard as well as graph labels, etc.
Statistics like "% of 1st try correct submissions"
Make the admin dashboard more useful and helpful when it comes to analyzing how the competition went.
From the user page stop an admin from deleting their own account. There shouldn't be too many bugs with it, just shouldn't happen.
When the user clicks the delete button on their own account, pop up saying you can't do that, or hide the button all together.
Prevent users from accidently deleting themselves when bulk deleting.
For admins when selecting problems, submissions, and users to delete prompt them "Are you sure?" including a disclaimer about what else will be deleted (e.j with problems submissions will be deleted, and with users submissions will be deleted)
Sweet alert could be used
Create a team page for admin and judges to view information about teams including submissions and activity history. From this page, the admin can open the edit team page which is already implemented.
Provide judges and admins information about teams to troubleshoot issues, and track teams progress.
From the Admin > Users page, add functionality to import teams from a .csv file for bulk loading.
Add the ability for /api/users
endpoint to accept POST request with a csv file as args. API endpoint will iterator over rows and use existing create user function to create teams. If a team already exists potentially update the team or skip (TBD).
Admin > Users page would include a form for sending POST request with file.
Come competition time creating 80+ teams can be time-consuming. This functionality would expedite the process.
Allow for admin to create template files via Admin Dashboard.
Just like test data is stored, store python and java templates.
Blue teams are provided template files for the problems.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.