Projekt programistyczny: system typu online judge

Język wykładowy Polski
Semestr Letni
Status W ofercie
Opiekun Karol Pokorski
Liczba godzin 30 (prac.)
Rodzaj Projekt
ECTS 4
Polecany dla I roku Nie
Egzamin Nie
Tagi PZ (Praca zespołowa)

Opis przedmiotu:

Projekt zakłada: * interfejs webowy, backend w Python z użyciem frameworka Flask, komunikacją z bazą danych SQL z użyciem ORM SQLAlchemy, biblioteką Babel do obsługi wielu języków i paru innych bibliotek, frontend Javascript, Bootstrap etc. * dość skomplikowany interfejs CLI ułatwiający przygotowywanie nowych zadań lub importowanie starych z różnych źródeł, * sandbox napisany w C, * moduły sprawdzania - kombinacja C++ i Python + serwer rozdzielający pracę pomiędzy kilka maszyn, * kilka pomniejszych narzędzi pobocznych dla użytkowników, * przygotowanie narzędzi pozwalających na zarządzanie kodem, deployment, zarządzanie sprawdzaniem etc. Studenci w mniejszych zespołach (2-4 osoby) pracują nad małymi projektami (wybranym fragmentem systemu np. drzewo konkursów, uprawnienia użytkowników, ranking) i co tydzień prezentują progres w pracach. Projekty mają być krótsze niż cały semestr, więc każdy powinien być częścią kilku zespołów i wykonać kilka projektów. Na pierwszych zajęciach zaprezentujemy planowaną architekturę systemu, listę projektów oraz architekturę bieżącego systemu (Solve 3) i problemy z nim związane. Zainteresowanym doradzam przejrzeć tutorial: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world