Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 17 additions & 55 deletions src/content/docs/sections/Backend/Get started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,62 +11,27 @@ import { Image } from "astro:assets";
import { Picture } from "astro:assets";
import { getTeam, TeamMembers } from "../../../../components/TeamMembers";

# O sekcji backend
## O sekcji backend

## Motyw przewodni sekcji backend
Elo żelo, przed Wami sekcja Backend. Zajmujemy się tworzeniem serwisów backendowych, używanych następnie przez inne sekcje. Wszystkiego rodzaju bazy danych, api, automatyczne synchronizacje i wiele więcej to właśnie my. Używamy głównie TypeScripta wraz z frameworkiem **NestJS**.

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". Skupiamy się na projektowaniu oraz implementacji systemów backendowych, które są zoptymalizowane, bezpieczne oraz skalowalne. Głównie korzystamy z **TypeScript**, wykorzystując framework **AdonisJS**. Programowanie jest naszą pasją - na naszych spotkaniach, dzielimy się pomysłami oraz wspieramy - problemy jednego członka są problemami całego zespołu, dzięki czemu nikt nie zostanie pozostawiony samemu sobie.
{" "}

## Działanie w sekcji backend

W naszej sekcji nie znajdziesz nudnych projektów, przekopiowanych z poradnika. Działamy od podstaw samodzielnie, definiując problem, sposób jego rozwiązania oraz implementację. Równie ważne jest to, iż nasze działania mają realny wpływ. Rozwiązania tworzone przez sekcję backend są podstawą aplikacji, które są wykorzystywane przez studentów **Politechniki Wrocławskiej.**
Jeśli chcesz do nas dołączyć, skontaktuj się z **przewodniczącym sekcji!**

## Onboarding
<LinkCard
title="Co już zrobiliśmy 🧐"
description="Stoimy na ramionach poprzednich pokoleń, a lepiej uczyć się na błędach innych niż swoich. Tu znajdziesz nasze projekty, osiągnięcia oraz istotne zmiany w sekcji backend na przestrzeni lat"
href="/sections/backend/history"
/>

- Jak wcześniej wspomnieliśmy, w naszych projektach korzystamy z **Adonisa**, z którym koniecznie musisz się zapoznać [**AdonisJS**](https://docs.solvro.pl/sections/backend/adonis/)
- Komunikacja to kluczowy element współpracy, tutaj dowiesz się jak skontaktować się ze swoim nowym zespołem [**Komunikacja**](https://docs.solvro.pl/communication)
- Nie wstydź się nam pokazać swojego kodu! W tej sekcji dowiesz się gdzie oraz w jaki sposób umieszczać swoje rozwiązania [**Korzystanie z GitHub**](https://docs.solvro.pl/github)
## Rozwój

## Nasze projekty
Wszyscy chcemy poszerzać swoje horyzonty. Tym samym niezależnie w jakim miejscu jestesmy mamy możliwość rozwoju. W KN Solvro nie boimy się pytać, szkolić i testować na produkcji. Działamy wspólnie, więc zachęcamy do dzielenia się swoimi osiągnięciami i umiejętnościami z resztą sekcji. Zacząć możecie poniżej, ale to dopiero początek.

<LinkCard title="Onboarding 👶" href="https://docs.nestjs.com/first-steps" />
<LinkCard title="Roadmap 🛣️" href="https://roadmap.sh/backend" />
<LinkCard
title="Eventownik"
href="https://github.com/Solvro/backend-eventownik"
/>
<LinkCard title="ToPWr" href="https://github.com/Solvro/backend-topwr" />
<LinkCard
title="ToPWr Parking"
href="https://github.com/Solvro/backend-topwr-parking-adonis"
/>
<LinkCard
title="ToPWr SKS"
href="https://github.com/Solvro/backend-topwr-sks"
/>
<LinkCard
title="Testownik"
href="https://github.com/Solvro/backend-testownik"
/>
<LinkCard title="Led Cube" href="https://github.com/Solvro/backend-led-cube" />
<LinkCard
title="Translator"
href="https://github.com/Solvro/backend-translator"
/>
<LinkCard
title="Kurs backendowy"
href="https://github.com/Solvro/backend-course"
/>
<LinkCard
title="Parking API"
href="https://github.com/Solvro/backend-parking-api-wrapper"
/>
<LinkCard
title="Zadanie rekrutacyjne (2024)"
href="https://github.com/Solvro/backend-cocktail-api"
/>
<LinkCard
title="Formularz Snu "
href="https://github.com/Solvro/backend-formularz-snu"
title="Zadania operacyjne sekcji Backend 👨‍💻"
href="https://github.com/orgs/Solvro/projects/3/views/7?sliceBy%5Bvalue%5D=Backend"
/>

## Nasze inne aktywności
Expand All @@ -75,18 +40,15 @@ Jeśli chcesz do nas dołączyć, skontaktuj się z **przewodniczącym sekcji!**
- uczestniczenie w konferencjach i warsztatach, aby śledzić najnowsze trendy i nawiązywać kontakty,
- integracje i spotkania zespołowe, które pomagają nam budować relacje, ale również, aby zrelaksować się po ciężkim tygodniu na uczelni,
- pomoc naszym członkom, w zdobyciu pierwszego doświadczenia zawodowego, umożliwiając udział w stażach oraz praktykach,
- tworzenie wytycznych, dotyczących tworzenia przejrzystego kodu.
- tworzenie wytycznych, dotyczących pisania przejrzystego kodu
- i wiele więcej aktywności wnoszących pozytywną wartość do koła i sekcji. Masz pomysł - zaproponuj!

## Nasz zespół

### Przewodniczący sekcji

<CardGrid>
<Card title="Dawid Linek">
Prezes VII zarządu KN Solvro oraz przewodniczący sekcji backend.
</Card>
![Uśmiechnięty Dawid Linek patrzący wprost w
obiektyw](../../../../assets/people/dawid_linek.jpg)
<Card title="Szymon Stępień">Przewodniczący Sekcji Backend 2025/2026</Card>
</CardGrid>

### Członkowie sekcji
Expand Down
113 changes: 113 additions & 0 deletions src/content/docs/sections/Backend/History.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
title: Historia backendowa
description: Co porabialiśmy w ostatnich latach
sidebar:
order: 2
---

import { Card, CardGrid, LinkCard } from "@astrojs/starlight/components";

import { Image } from "astro:assets";
import { Picture } from "astro:assets";
import { getTeam, TeamMembers } from "../../../../components/TeamMembers";

## 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

<CardGrid>
<Card title="Dawid Linek">
Prezes VII zarządu KN Solvro oraz przewodniczący sekcji backend 2024/2025.
</Card>
![Uśmiechnięty Dawid Linek patrzący wprost w
obiektyw](../../../../assets/people/dawid_linek.jpg)
</CardGrid>

### Projekty

| Nazwa | Github | Daty | Techlead |
| --------------- | ------------------------------------------------------------------------------------ | -------------------------------- | ---------------- |
| Eventownik | [backend-eventownik](https://github.com/Solvro/backend-eventownik) | od marca 2024 | Dawid Linek |
| ToPWr | [backend-topwr](https://github.com/Solvro/backend-topwr) | 2024 | Jakub Czajkowski |
| ToPWr SKS | [backend-topwr-sks](https://github.com/Solvro/backend-topwr-sks) | od września 2024 | Jakub Czajkowski |
| Led Cube | [backend-led-cube](https://github.com/Solvro/backend-led-cube) | listopad 2024 – styczeń 2025 | Jakub Stępkowski |
| Kurs backendowy | [backend-course](https://github.com/Solvro/backend-course) | sierpień 2024 – październik 2024 | Dawid Linek |
| Parking API | [backend-parking-api-wrapper](https://github.com/Solvro/backend-parking-api-wrapper) | wrzesień 2024 – styczeń 2025 | Ignacy Smoliński |
| Cocktails API | [backend-cocktail-api](https://github.com/Solvro/backend-cocktail-api) | sierpień 2024 – wrzesień 2024 | Dawid 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

<CardGrid>
<Card title="Dawid Linek">
Przewodniczący sekcji backend do 1 lipca 2025.
</Card>
![Uśmiechnięty Dawid Linek patrzący wprost w
obiektyw](../../../../assets/people/dawid_linek.jpg)
</CardGrid>
<CardGrid>
<Card title="Szymon Stępień">
Przewodniczący sekcji backend od 1 lipca 2025.
</Card>
</CardGrid>
### Projekty

| Nazwa | Github | Daty | Techlead |
| -------------- | -------------------------------------------------------------------------------------- | ----------------------- | ----------------- |
| ToPWr Parking | [backend-topwr-parking-adonis](https://github.com/Solvro/backend-topwr-parking-adonis) | luty 2025 – marzec 2025 | Jakub Czajkowski |
| Eventownik 3.0 | [backend-eventownik](https://github.com/Solvro/backend-eventownik) | od lipca 2025 | Szymon Stępień |
| Translator | [backend-translator](https://github.com/Solvro/backend-translator) | luty 2025 – maj 2025 | Jakub Czajkowski |
| Testownik | [backend-testownik](https://github.com/Solvro/backend-testownik) | od stycznia 2025 | Antoni Czaplicki |
| Formularz Snu | [backend-formularz-snu](https://github.com/Solvro/backend-formularz-snu) | luty 2025 – marzec 2025 | Szymon 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.
2 changes: 2 additions & 0 deletions src/content/docs/sections/Backend/LimeSurvey.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: LimeSurvey
description: Zarządzanie kontami badawczymi studentów i uprawnieniami na naszej platformie LimeSurvey
sidebar:
hidden: true
---

## Instrukcja zarządzania LimeSurvey
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/sections/Management/Role/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Poniższa matryca definiuje, kto jest odpowiedzialny za poszczególne aktywnośc
| Przygotować backlog | RA | C | C | I |
| Build deliverables | I | C | A | R |
| Przeprowadzanie code review | I | C | RA | I |
| Deployment na produkcję | I | A | R | C |
| Deployment na produkcję | I | A | R | C |
| Organizacja weekly projektu | I | RA | C | I |
| Marketing i Promocja | C | A | I | R |
| Prezentacja postępów na Weekly | C | RA | C | I |
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/sections/Management/Tools/raci.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Stosowanie macierzy RACI przynosi wiele korzyści:
| Przygotować backlog | RA | C | C | I |
| Build deliverables | | C | A | R |
| Przeprowadzanie code review | I | C | RA | I |
| Deployment na produkcję | I | A | R | C |
| Deployment na produkcję | I | A | R | C |
| Organizacja weekly | I | RA | C | I |
| Marketing i Promocja | C | RA | | |

Expand Down
1 change: 1 addition & 0 deletions src/content/docs/solvro/VIII_Board.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import olaImg from "../../../assets/people/aleksandra_dominiak.jpg";
/>

{" "}

<PersonCard
name="Apolonia Abramowicz"
title="Wiceprezeska VIII Zarządu. Nadzorowanie sekcji."
Expand Down