Coder Social home page Coder Social logo

nattee / cafe-grader-web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cafe-grader-team/cafe-grader-web

5.0 5.0 2.0 36.36 MB

This is a web-based component of Cafe Grader. It is written in Ruby, using Ruby on Rails web framework.

License: MIT License

Ruby 5.13% JavaScript 10.18% CoffeeScript 0.06% CSS 0.10% HTML 0.15% Python 82.07% SCSS 0.20% Haml 2.12%

cafe-grader-web's People

Contributors

jittat avatar nattee avatar noppakorn avatar pongsaphol avatar sarunint avatar suphon-t avatar wytesk133 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cafe-grader-web's Issues

Add 'hints' tab for each problem

Suggestion of new feature 'hints' tab

For each problem, admins will be able to upload text files
(1.hint, 2.hint, ...) that will give hints or starting code to students.

The function may be similar to 'testcases' button
which shows input-output text files associated with each problem.
Hint text files are ordered, so that students can see hints in order.

image

image

Core features broken! update_attributes does not work in current version of Rails anymore

update_attributes, as of this time of installation, is fully deprecated in Rails 7 (Ruby 3.1.0). It invokes Internal Server Error (500) when called in:

  1. app/controllers/announcements_controller.rb
  2. test/integration/login_test.rb
  3. app/controllers/problems_controller.rb
  4. app/controllers/configurations_controller.rb
  5. app/controllers/users_controller.rb
  6. app/controllers/contests_controller.rb
  7. app/controllers/sites_controller.rb
  8. app/controllers/user_admin_controller.rb

Suggestion: Use update in place of update_attributes.

Test system: VPS, Ubuntu 22.04 LTS.

fix text in problem import

Note that the full score has be assigned to the default value, 100. You should change it to the correct full score.

fix submission language error

1 error prohibited this submission from being saved

There were problems with the following fields:

Source must specify programming language

อยากให้เพิ่มเติม feature ในเกรดเดอร์ เพื่อความสะดวกในการทำครับ

Feature ที่ grader สามารถเพิ่มเติมได้ โดยมี credit จาก www.betaprogramming.com

  • ซ่อน/แสดงโจทย์ข้อที่เสร็จแล้ว (เอาข้อเขียว ๆ ไปซ่อนไว้ )
  • ซ่อน/แสดงโจทย์ข้อที่ยังไม่เคยทำ (จะได้เขียวทั้งหน้า เพื่อความสวยงามม)
  • ซ่อน/แสดงโจทย์ข้อที่ยังไม่ผ่าน
  • สุ่มโจทย์ที่ยังไม่เคยทำ

แนะนำ extension นี้ค้าบ
https://chrome.google.com/webstore/detail/beta-task-toggler/mgicmhhkcdbopogdbphnecplndijgfbn

The judge should automatically interpret "\r\n" (Windows newline) as "\n"

It is far too common that many .in files are generated by Windows, but being used for juding on Linux systems.

This causes a discrepancy of the newline characters (\r\n and \n) which is the reason why we have to force the users to use input().strip() in Python.

I think this should not be a burden for the users to take care of this. Instead either the testcase generator or the judge should be able to solve this discrepancy on the fly without the users knowing.

Old testcases still shown when click 'testcases'

If I first upload a task with 15 testcases, and then
I edit and upload testcases for this task again, but this time with only 10 testcases.
The excessing testcases (11-15) are not used in grading
but still shown when click 'testcases'.

Source code length capped at 65,535 instead of 100,000

If code length > 100000, "too long" massage will show as a result of this line of code
validates_length_of :source, :maximum => 100_000, :allow_blank => true, :message => 'too long'

however, when submit code that have length between 65536 and 100000 , "We're sorry, but something went wrong." massage will show instead

Authentication missing

Any user can easily access other's source code via "/{submission_id}/edit" without any authentication.

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.