Giter VIP home page Giter VIP logo

devcontest's Introduction

DevContest

DevContest is web server based on Pylons framework and Python. This allows you to create a competition for students of informatics. The only thing you need is a Linux server with the necessary compilers. In the administration system you can set the language, what you want. The base is the default C, C++, Java, Pascal, Python, PHP and Ruby.

STATUS: DEAD.

Not really maintained anymore. Sorry.

Install from sources

git clone https://github.com/yetty/DevContest.git DevContest

Installation stable version (deprecated)

  1. Download setup.sh:

    wget https://raw.github.com/yetty/DevContest/0.4/setup-0.4.sh

  2. Run it as root:

    su sh setup-*.sh

and it is finished! Enjoy.

devcontest's People

Contributors

administrator37157192201 avatar yetty avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

devcontest's Issues

Statistiky

Stránka se statistikami všeho druhu (počet uživatelů, soutěží, úloh, odeslaných řešení, podíl správných řešení).

VirtualEnv

Doplnit informace o možnostech instalování do VirtualEnvu + upravit instalaci DevContestu tak, aby si s VirtualEnvem vystačil (žádné adresáře v /usr/share/).

Názvy souborů

Není vhodné mít názvy souborů číselné (hlavně pro kompilaci Javy), proto je potřeba přidat před každý název nějaké písmeno.

34.java -> p34.java

Online uživatelé

Hodil by se seznam všech aktuálně přihlášených uživatelů. Jen taková možná fičurka navíc.

Prázdná úloha při nahrávání

Zatímco je úloha vytvářena, zobrazuje se místo ní prázdná stránka. To vadí, pokud se přidává úloha už při spuštěné soutěži. Stačí pak totiž zaslat prázdný soubor a úloha se označí za vyřešenou - smůla pro toho, kdo to odeslal, protože za ní nedostane body a dál už jí řešit nemůže.

Vymazání bodů

Po znovu-spuštění kódu v administraci se uživateli v soutěži vymažou body...

Java

Přidat snazší podporu Javy + informace do dokumentace.

Stránka nenalezena

Stránka nenalezena kvůli parametru upload.

Postup - nahrát zdroják, kliknout "Zpět na soutěž" a pokusit se dostat do jiného příkladu.

Pořadí v archivu a v TOP 10

V archivu a v TOP 10 jsou lidé řazeni podle času/počtu vyřešených úloh, ale když dojde ke shodě, řadí se to jaksi náhodně. Je potřeba to upravit tak, aby lidé na stejném místě měli i příslušné číslíčko pořadí. Ne jen automaticky od 1..N.

Špatné řešení

Někdy se stává, že i správné řešení není vyhodnoceno jako správné. Pomáhá vymazání vstupního souboru a nahrání znovu. Důvod tipuji na ukládání výstupního souboru, který se nepřepíše.

Nastavení

v config chybí judge_max_memory a judge_max_time. Bez toho to padá.

Stahování v PDF

Využít exportu pomocí Latexu do PDF a umožnit stahování. PDFka je potřeba na serveru cachovat, aby se při každém požadavku negenerovalo nové. Tisklo by se pouze zadání, i u úloh v archivu.

Bonusové body

Přidání funkcionality - přidávání bonusových bodů administrátorem za mimořádné splnění úkolů.

LaTeX

Umožnit zobrazování zadání k příkladům ve formátu LaTeX (matematické vzorce apod.). To samé na upravovatelných stránkách.

Odesílání programů Java pomocí textarey

V současnosti nelze Javu odesílat přes textareu, protože není specifikován název souboru.

Možná řešení:

  • pojmenovávat soubor nějak systematicky, např. podle čísla příkladu a dát k odesílání nápovědu.
  • pojmenovávat soubor stále stejně (např. main.java, main.pas). Možná jednodušší a hezčí řešení.

Pořadí v Codex módu

U Codex módu je sice fajn, že lidé se stejným počtem bodů jsou na stejném místě, ale toto místo přesahuje i na dalšího, který nemá stejný počet bodů.

Počet řešitelů

V archivu na stránce seznamu úkolů se zobrazují počty řešitelů a počty úspěšných řešitelů, ale jsou do nich započítávání i administrátoři.

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.