FSU-ACM/Contest-Server

Compute Extra Credit in-app

andrewsosa opened this issue · 5 comments

Currently, we require whoever is running the extra credit to download files, remote in to the server, and run the script.

We can streamline this process by integrating the extra credit calculation into the web interface. If an admin uploads the required files (the extra credit survey and the results.tsv), we can calculate the extra credit in the running app instance and return the computed results.

This is also slightly related to #88's changes to the EC.

@manterolat -- just noticed you self assigned #88, so be sure to take a look at this regarding handling the extra credit.

If you'd like, I can take a crack at actually writing the functionality for this, if you'd like to add it to the dashboard after. But you can take this if you want

That could work. I was also thinking we could somehow streamline the EC process by adding the classes with Extra Credit as a multi-select option when registering. Then we wouldn't need the EC survey.

I think there is some merit to the idea, but the stakeholders need to consider the following:

  1. Updating the available options for a EC survey in-app is significantly more difficult than updating them in a Google form
  2. If included during registration, you'd have multiple problems:
    • If implemented poorly, this would make registration a very unwieldy process for the user
    • We'd need to support changing the selection after registration in case a user doesn't mark all of their classes during initial registration

@manterolat before anyone works this we need the stakeholders (ACM officers in this case) to decide what they want to pursue.

Of course, I'll talk it over with the others.

Just to expand on the idea:

We could add a simple SelectMultipleField with all the EC classes as options. As for how we would update the class list, I was thinking either storing them in a CSV file or a new 'Course'/'Class' DB model. Creating a pane in the admin panel to add/edit classes would be pretty easy with the DB option.

In my opinion, adding a new field to the registration process/profile pages seems more intuitive than having the user put the same information (name, FSUID, email, etc.) in a separate survey. Less chance for them to forget about it, too!