Code Monkey home page Code Monkey logo

fit-odevzdavac's Introduction

FIT-odevzdávač

je PHP serverová aplikace určená pro zjednodušení odevzdávání studentských testů (souborů) při výuce (primárně BI-CAO).

Konfigurace – zprovoznění

Do určeného prostoru na webovém serveru umístit obsah adresáře web. Poté je třeba nastavit několik drobností:

  • přístupy učitelů: username každého učitele, který má mít možnost stahovat odevzdané soubory, musí být zadaný v poli $teachers v souboru (web/)index.php
  • přístup k databázi odevzdání: v souboru (web/)adminer/.htpasswd je třeba zadat jméno a heslo pro HTTP autentikaci (vzorově vyplněno uzivatel/heslo). (Nevíme-li jak, google poradí.) Dále je třeba v souboru (web/)adminer/.htaccess změnit absolutní cestu AuthUserFile na opravdovou cestu.
  • případně obnova databáze: pokud by bylo třeba obnovit databázi, lze použít vzorový soubor prázdné databáze tools/log.db, případně skriptem tools/install.php vygenerovat databázi novou.

Používání

Student

Tedy kdokoliv ověřitelný školním LDAPem, kdo není v kódu uveden jako cvičíčí.

  1. otevře příslušnou stránku
  2. vyplní svůj školní login a heslo
  3. vybere soubor k odevzdání (libovolně pojmenovaný)
  4. klikne na "Odeslat soubor"
  5. zelená hláška potvrdí, že byl soubor v pořádku uložen v systému

Cvičící

Ten, kdo je v kódu uvedeni jako cvičící (a je ověřitelný školním LDAPem).

  1. otevře příslušnou stránku
  2. vyplní svůj školní login a heslo
  3. klikne na "Jsem cvičící"
  4. vyplní ID podle tohoto pravidla: {den}/{první hodina cvičení podle rozvrhu} např. "2/7" pro úterý od 12:45, "4/9" pro čtvrtek od 14:30
  5. stáhne se mu ZIP archiv se všemi odevzanými soubory pro dané cvičení

Jak to funguje

  • studenti mohou pouze odesílat, cvičící mohou pouze stahovat
  • studenti mohou odevzdávat vícekrát, ukládá se každé odevzdání
  • studentské odevzdání se podle času a dne v týdnu automaticky třídí do odpovídajících cvičení
  • soubory odeslané studenty jsou přejmenovány podle jejich username a času odeslání, přípona je vždy přejmenovaná na ".nb"
  • do databáze odevzdání se loguje každé odeslání (username, čas, IP adresa, originální název souboru); přístup je možný z prohlížeče pomocí adresy (web/)adminer/(index.php)
  • soubory se automaticky nijak neodstraňují, případný "reset" odevzdávače na další týden je nutné provést ručním odstraněním souborů (adresářů) (web/)data/[1-7]
  • pokud se odevzdává na více místech najednou, je nutné tento odevzdávač zprovoznit ve více oddělených instancích

Stav odevzdání

Je možné průbežně vypisovat stav odevzdání - aby si studenti mohli kontrolovat, zda se jim odevzdání podařilo. Je k tomu nutný přístup k příkazové řádce v místě, kde jsou uložena data.

Viz soubor (web/)data/vypisZacJmena.sh

TODO

Aneb co by šlo vylepšit:

  • podrobnější popis chyb
  • indikace správného přihlášení studenta/cvičícího (aneb: jako kdo jsem přihlášen?)
  • lepší správa cvičících (databáze? GUI?)
  • přímá podpora paralelních cvičení
  • podpora archivace/promazání

fit-odevzdavac's People

Contributors

aakafosfor avatar

Watchers

 avatar  avatar

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.