Tematy prac dyplomowych
Automatyczne raportowanie pracy zespołów studenckich w GitHub CLI (wtyczka SoC)
Status: Wolny
Opis: Celem zadania jest rozszerzenie wtyczki SoC dla GitHub CLI o nową komendę gh soc report,
umożliwiającą automatyczne generowanie raportów z pracy zespołów studenckich. Komenda integruje dane
z GitHub Projects oraz recenzji zgłoszeń zmian do scalenia (Pull Request, PR) i przekształca je w
czytelne raporty w formacie Markdown, wspierające ocenę postępów, dokumentowanie procesu pracy oraz
udzielanie feedbacku w projektach edukacyjnych realizowanych na GitHubie
Zakres prac:
Nowa komenda ma realizować następujące funkcjonalności:
- generowanie raportów w formacie Markdown na podstawie predefiniowanych lub konfigurowalnych szablonów;
- automatyczne pobieranie i wstawianie do raportów danych z GitHub Projects powiązanych z danym zespołem;
- dołączanie do raportów zrzutów ekranu wybranych fragmentów recenzji z PR-ów jako dokumentacji procesu pracy i feedbacku.
Dlaczego warto:
- poznasz praktyczne zastosowania języka Bash — przydatne wszędzie tam, gdzie pracuje się z terminalem,
- nauczysz się korzystać z GitHub CLI, co ułatwi Ci pracę z repozytoriami i projektami open-source,
- zdobędziesz doświadczenie w pracy z realnym projektem open-source, co możesz wpisać do CV lub profilu na GitHubie i wykorzystać przy rekrutacjach na staże czy projekty badawcze,
- rozwiniesz kompetencje pracy zespołowej na GitHubie — nauczysz się jak organizować zadania, komunikować się w kodzie i zarządzać wspólnymi projektami,
- zobaczysz efekt swojej pracy w projekcie, z którego mogą korzystać nauczyciele z całego świata.
Miejsce: Wydział Fizyki, Astronomii i Informatyki Stosowanej, Grudziądzka 5/7, 87-100 Toruń
Materiały
Automatyzacja kontroli jakości i testów wtyczki SoC z użyciem GitHub Actions
Status: Wolny
Opis: Zadanie koncentruje się na zaprojektowaniu i wdrożeniu spójnego procesu ciągłej integracji (Continuous Integration, CI) dla wtyczki SoC, który zapewni stałą kontrolę jakości kodu oraz wiarygodność zmian wprowadzanych do projektu. Efektem pracy będzie zestaw automatycznych mechanizmów uruchamianych przy zgłoszeniach zmian do scalenia (Pull Requests, PR), wspierających utrzymanie projektu o otwartym kodzie źródłowym (open source) i ułatwiających jego dalszy rozwój
Zakres prac:
- konfiguracja shellcheck (lintera kodu Bash) oraz integracja z CI;
- ustalenie i egzekwowanie formatowania kodu przy użyciu shfmt;
- przygotowanie podstawowych testów CLI w bats-core;
- utworzenie własnych GitHub Actions uruchamiających linter i testy (shellcheck, bats-core);
- integracja całości w czytelny workflow CI dla PR.
Dlaczego warto:
- poznasz nowoczesne narzędzia DevOps i CI/CD — umiejętności cenione na rynku pracy w IT i projektach open-source,
- nauczysz się projektować i wdrażać własne GitHub Actions, co pozwoli Ci później automatyzować swoje projekty i usprawniać pracę w zespole,
- zrozumiesz, jak budować bezpieczny i dobrze zorganizowany workflow programistyczny, co jest podstawą w pracy przy dużych, rozproszonych projektach,
- zdobędziesz doświadczenie w pracy open-source, ucząc się, jak utrzymywać i rozwijać projekt tak, by był dostępny i zrozumiały dla nowych współtwórców,
- wzbogacisz swoje portfolio o praktyczny projekt automatyzacji open-source, co może być mocnym atutem przy szukaniu pierwszej pracy w IT albo współpracy z firmami.
Miejsce: Wydział Fizyki, Astronomii i Informatyki Stosowanej, Grudziądzka 5/7, 87-100 Toruń
Materiały
Utrzymanie i rozwój aplikacji Czujnikownia
Status: Wolny
Krótki opis: Projekt obejmuje profesjonalne utrzymanie aplikacji Czujnikownia, napisanej w TypeScript, oraz wdrażanie drobnych usprawnień i nowych funkcjonalności, ze szczególnym uwzględnieniem procesów współpracy, bezpieczeństwa oraz jakości kodu i dokumentacji.
Zakres prac:
- zarządzanie dodawaniem nowego kodu przez zewnętrznych partnerów: przegląd zgłoszeń zmian do scalenia (Pull Request, PR), egzekwowanie wytycznych i standardów kodowania;
- obsługa alertów bezpieczeństwa Dependabot: analiza, aktualizacje zależności, testy regresji (regression tests – testy w CI build & test sprawdzające, czy nic, co wcześniej działało, nie zostało zepsute);
- proponowanie i prototypowanie nowych funkcjonalności: zbieranie wymagań, tworzenie zgłoszeń zadań (Issue) i propozycji (Request for Comments, RFC), oraz implementacja drobnych zmian;
- doskonalenie kodu: refaktoryzacja, poprawa testów i dokumentacji, utrzymanie spójności z narzędziem lintującym (ESLint) i konfiguracją projektu;
- utrzymanie procesu wydawniczego: porządkowanie changelogów, przegląd CI/CD.
Dlaczego warto:
- realny wpływ na działającą aplikację i praktyka pracy w repozytorium open-source;
- rozwój umiejętności w utrzymaniu projektu (maintainer skills): bezpieczeństwo, code review, automatyzacja i jakość;
- mierzalne rezultaty (zamknięte alerty bezpieczeństwa, zaakceptowane i scalone PR, wzrost pokrycia testami) oraz doświadczenie cenione na rynku pracy.
Miejsce: Wydział Fizyki, Astronomii i Informatyki Stosowanej, Grudziądzka 5/7, 87-100 Toruń
Materiały
Utrzymanie i rozwój projektu Slawiatura
Krótki opis: Projekt obejmuje profesjonalne utrzymanie układu klawiatury Slawiatura (Linux XKB, Windows AHK/EXE, Keyman) oraz powiązanej dokumentacji (Jekyll/GitHub Pages), wraz z wdrażaniem drobnych usprawnień i nowych funkcjonalności, ze szczególnym uwzględnieniem procesów współpracy, bezpieczeństwa oraz jakości kodu i dokumentacji.
Zakres prac:
- zarządzanie nowym kodem od współautorów: przegląd zgłoszeń zmian do scalenia (Pull Request, PR), egzekwowanie wytycznych (styl, konwencje wersjonowania, struktura katalogów), utrzymanie spójności dokumentacji;
- konfiguracja i obsługa procesu ciągłej integracji (Continuous Integration, CI) w GitHub Actions: budowa i walidacja klawiatury Keyman (kmcomp), weryfikacja definicji XKB (xkbcomp), sprawdzenie skryptów Windows (AHK), budowa strony Jekyll, link-check (np. Lychee), publikacja artefaktów oraz automatyzacja not wydawniczych (release notes);
- obsługa alertów bezpieczeństwa Dependabot: uruchamianie automatycznych testów regresji w CI (regression tests), aby upewnić się, że nowe zmiany nie zepsuły dotychczasowej funkcjonalności;
- proponowanie i prototypowanie nowych funkcjonalności: zbieranie wymagań (requirements), tworzenie zgłoszeń zadań (issue) i propozycji zmian (Request for Comments, RFC), implementacja drobnych zmian w mapach klawiatur i dokumentacji;
- doskonalenie projektu: refaktoryzacja źródeł (Keyman .kmn/.kps, XKB symbols), poprawa instrukcji instalacji, utrzymanie spójności z narzędziami lintującymi dla YAML i Markdown, porządkowanie changelogów i przegląd procesu CI.
Dlaczego warto:
- realny wpływ na narzędzie używane w praktyce (językoznawstwo/slawistyka) oraz doświadczenie w pracy z repozytorium open-source.
- rozwój umiejętności w utrzymaniu projektu (maintainer skills): bezpieczeństwo (security), recenzowania kodu, automatyzacja i jakość.
- mierzalne rezultaty: zautomatyzowane kompilacje (automated builds), opublikowane pliki wydania (published release artifacts), zamknięte alerty bezpieczeństwa, poprawiona jakość dokumentacji oraz doświadczenie cenione na rynku pracy.
Miejsce: Wydział Fizyki, Astronomii i Informatyki Stosowanej, Grudziądzka 5/7, 87‑100 Toruń
Materiały: