Przejdź do głównej zawartości

Historia backendowa

Początki

Sekcja backend jest dobrze ugruntowaną częścią KN Solvro, która stale rozwija się, tworząc rozwiązania, które są podstawą działania naszych aplikacji. Powstała ona w wakacje 2024 roku na wskutek rozbicia sekcji web na frontend, backend oraz devops. Naszym pierwszym działaniem było przeprowadzenie szkolenia “Od zera do backend developera”, gdzie wykonaliśmy tranzycję na ujednoliconą technologię Adonis JS.

2024

Przewodniczący

Dawid Linek

Prezes VII zarządu KN Solvro oraz przewodniczący sekcji backend 2024/2025.

Uśmiechnięty Dawid Linek patrzący wprost w
obiektyw

Projekty

NazwaGithubDatyTechlead
Eventownikbackend-eventownikod marca 2024Dawid Linek
ToPWrbackend-topwr2024Jakub Czajkowski
ToPWr SKSbackend-topwr-sksod września 2024Jakub Czajkowski
Led Cubebackend-led-cubelistopad 2024 – styczeń 2025Jakub Stępkowski
Kurs backendowybackend-coursesierpień 2024 – październik 2024Dawid Linek
Parking APIbackend-parking-api-wrapperwrzesień 2024 – styczeń 2025Ignacy Smoliński
Cocktails APIbackend-cocktail-apisierpień 2024 – wrzesień 2024Dawid Linek

Technologia

Przez lata działalności koła przeczołgaliśmy się przez wiele różych technologii.

Java

Java była popularną technologią głównie ze względu na swoją powszechność na studiach i wysoką komercyjność. Ostatecznie zdecydowaliśmy się zrezygnować z Javy na rzecz standaryzacji stosowanych technologii — wybraliśmy rozwiązania oparte na TypeScripcie, który był już używany na froncie.

Kolejnym czynnikiem był wpływ sposobu nauczania Javy na studiach. Choć pozornie mogła być to zaleta, w praktyce okazała się wadą. Do zespołów dołączały często osoby mające jedynie podstawową, akademicką znajomość Javy, a nie pasję i umiejętność samodzielnej nauki nowej technologii.

Historycznie również projekty oparte na Javie rzadko doczekiwały się zakończenia i wdrożenia. Pod koniec 2024 roku zdecydowaliśmy się całkowicie wycofać Javę z koła, a w lutym 2025 roku zamknęliśmy ostatni aktywny projekt w Javie (Parking API).

DIY w Node.js

Przez pewien okres w działalności koła powtstawały projekty oparte na Node.js np. expressie czy fastify, gdzie w ramach potrzeby były doklejane kolejne biblioteki. Początkowo wydawało się to dobrym rozwiązaniem. Jednak praktyka boleśnie pokazała, że brak standaryzacji i jasno określonej struktury znacząco utrudnial wdrożenie nowych osób. Po odejściu techleada pojawiały się problemy z maintenance projektu oraz przekazaniem go kolejnym ekipom. Z tych powodów w wakacje 2024 projekty DIY zostały wygaszone oraz wprowadzona technologia w postaci ustrukturyzowanego frameworku adonis js.

Adonis js

Decyzją przewodniczącego sekcji w wakacje 2024 wybrano framework AdonisJS — nowoczesne narzędzie w ekosystemie Node.js, w pełni wspierające TypeScript i inspirowane rozwiązaniami znanymi z Laravel.

O wyborze zdecydowała prostota, implementacja uniwersalnych konceptów backendowych, silne standaryzowanie oraz bogate, komercyjne doświadczenie przewodniczącego sekcji w korzystaniu z tego narzędzia.

Latem 2024 roku zorganizowano wakacyjne wyzwanie, które pozwoliło członkom sekcji zapoznać się z technologią i wdrożyć ją w praktyce. Następnie AdonisJS został zastosowany w zadaniu rekrutacyjnym, a także w projektach ToPWR, Eventownik, Translator, SolvroBOT i Planner. Przeprowadzono dwie rekrutacje i dwa wdrożenia członków w tę technologię.

2025

Przewodniczący

Dawid Linek

Przewodniczący sekcji backend do 1 lipca 2025.

Uśmiechnięty Dawid Linek patrzący wprost w
obiektyw

Szymon Stępień

Przewodniczący sekcji backend od 1 lipca 2025.

Projekty

NazwaGithubDatyTechlead
ToPWr Parkingbackend-topwr-parking-adonisluty 2025 – marzec 2025Jakub Czajkowski
Eventownik 3.0backend-eventownikod lipca 2025Szymon Stępień
Translatorbackend-translatorluty 2025 – maj 2025Jakub Czajkowski
Testownikbackend-testownikod stycznia 2025Antoni Czaplicki
Formularz Snubackend-formularz-snuluty 2025 – marzec 2025Szymon Kowaliński

Technologia

NestJS

Podczas prawie roku działania na frameworku adonis js pojawiło się kilka głównych zastrzeżeń:

  • framework jest utrzymywany przez 4 osoby, co ograniczło rozwój i nie świadczyło dobrze o stabilności
  • pojawiły się problemy z integracją z admin js, który miał być używany w ToPWR
  • adonis nie był bardzo popularnie komercyjny i brakowało mu opcji enterprise
  • NestJS był 100x bardziej popularny pod względem pobrań niż adonis
  • brakowało ugruntowanych materiałów i kursów w adonisie np. testy

Ze względu na te czynniki w czerwcu 2025 roku odbyły się spotkania dotyczące zmiany technologii. Kończąc na debacie 22 czerwca 2025 po 2 godzinach pasjonujących rozmów oraz 2 turach głosowania większością głosów została wybrana technologia NESTJS.

Z założeń chcieliśmy, aby technologia:

  • opierała się na TS z uwagi na współpracę z sekcją frontend oraz bezpieczeństwo dawane przez typowanie
  • była ujednolicona w kole z uwagi na łatwiejszy rozwój, onboarding oraz utrzymanie projektów. Dopuszczamy jednak w uzasadnionych sytuacjach użycie innych technologii.
  • posiadała dobrą dokumentacją oraz materiały szkoleniowe
  • miała narzuconą strukturę z uwagi na łatwiejsze wdrożenie nowych członków

Kontrkandydatami był framework DIY, przy którym pojawiły się zastrzeżenia co do jego utrzymania i rozwoju. Drugim kontrkandydatem było Django, które nie zostało wybrane większością głosów. Pojawiły się zastrzeżenia co do braku TS.