Tematy prac dyplomowych
Projekt i implementacja rozszerzenia SoC CLI do zarządzania kursami akademickimi w systemach Gitea
Status: Wolny
Opis: Celem pracy jest zaprojektowanie i implementacja rozszerzenia istniejącego narzędzia SoC CLI, pierwotnie działającego jako wtyczka dla GitHub CLI, o obsługę systemów opartych o Gitea. Rozszerzenie zostanie zaimplementowane w postaci skryptu Bash, wykorzystującego Gitea CLI (tea), i umożliwi automatyczne zarządzanie organizacją oraz repozytoriami w takich systemach jak Gitea, Forgejo czy Codeberg.
Rozwijane rozszerzenie SoC CLI pozwoli na realizację kursów akademickich prowadzonych w modelu Szkoły Rzeczypospolitych (SoC) w środowisku open-source, niezależnym od platformy GitHub. Efektem pracy będzie narzędzie wspierające prowadzenie zajęć dydaktycznych poprzez automatyzację procesów takich jak tworzenie zespołów i repozytoriów, zapraszanie użytkowników, przypisywanie zadań dydaktycznych oraz archiwizację przebiegu kursu.
Zakres prac:
- analiza możliwości i ograniczeń Gitea CLI (tea) w kontekście automatyzacji zarządzania organizacjami i repozytoriami;
- porównanie API GitHub oraz Gitea pod kątem implementacji analogicznych funkcji;
- zaprojektowanie architektury skryptu Bash oraz struktury plików konfiguracyjnych;
- implementacja kluczowych poleceń CLI (np. inicjalizacja kursu, synchronizacja repozytoriów, zapraszanie uczestników, przypisywanie zadań);
- obsługa różnych instancji Gitea (lokalne, instytucjonalne, publiczne jak Codeberg);
- testy funkcjonalne skryptu oraz dokumentacja użytkowa.
Dlaczego warto:
- zdobędziesz praktyczne doświadczenie w tworzeniu narzędzi CLI w Bashu,integrujących się z zewnętrznymi API,
- poznasz ekosystem Gitea / Forgejo jako alternatywę dla GitHuba, co jest coraz istotniejsze w kontekście suwerenności cyfrowej i self-hostingu,
- nauczysz się projektować narzędzia wspierające realne procesy dydaktyczne i organizacyjne,
- rozwiniesz umiejętności analizy porównawczej platform developerskich (GitHub vs Gitea),
- wzbogacisz swoje portfolio o użyteczne narzędzie open-source, możliwe do dalszego rozwijania i wdrażania na uczelniach.
Miejsce: Wydział Fizyki, Astronomii i Informatyki Stosowanej,Grudziądzka 5/7, 87-100 Toruń
Materiały:
Automatyczne raportowanie pracy zespołów studenckich w SoC CLI
Status: Wolny
Opis: Celem zadania jest rozszerzenie SoC 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 SoC CLI 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 SoC CLI, 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 Logus
Status: Wolny
Krótki opis: Projekt obejmuje profesjonalne utrzymanie aplikacji Logus, 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 (główna zależność to Probot, potrzebna aktualizacja z 12.4.0 na 14.2.4), 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) 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 układu klawiatury Slawiatura
Status: Wolny
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: