Kurs Development i Architektura
Kurs Development i architektura przeznaczony jest dla programistów, którzy chcą uporządkować wiedzę o wytwarzaniu oprogramowania. Znajdziesz tutaj zagadnienia związane z technikami wersjonowania kodu, administracją serwera i deploymentem oraz architekturą oprogramowania od monolitu po mikroserwisy.
Po przerobieniu tego kursu będziesz rozumiał cały cykl wytwarzania oprogramowania, będziesz potrafił wdrożyć swoją aplikację korzystając z serwerów oferowanych w ramach chmury AWS i będziesz świadomie podejmował decyzję o tym, czy tworzyć aplikację w modelu monolitycznym, czy rozproszonym.
W kursie rozwijana jest aplikacja, której kod jest dostępny na GitHubie. Po ukończeniu kursu możesz dołączyć do projektu i zaimplementować w nim nowe funkcjonalności zgodnie z opisanymi wymaganiami.
Zakres kursu
Wytwarzanie oprogramowania
- Git - Podstawy
- Git w IntelliJ IDEA
- Conventional Commits
- Semantic Versioning
- Zarządzanie gałęziami
- Zdalne repozytoria
- Zarządzanie projektem i definiowanie zadań
- Planowanie wydań
- Trunk based development
- GitHub Flow
- Branch protection
- Automatyzacja wersjonowania
Administracja serwerem
- Wprowadzenie
- Konfiguracja serwera VPS w AWS
- Jak działa SSH
- Połączenie SSH
- Własny klucz SSH
- Konfiguracja serwera
Rozwój aplikacji
- Tworzymy projekt
- Testy manualne
- Testy jednostkowe
- Testy integracyjne
- Testy z prawdziwą bazą danych
- Liquibase
- Dane testowe
- Profil deweloperski
- Testcontainers
- Docker Compose Spring Support
- Budowanie obrazu
- Publikacja obrazu
Deployment
- Lokalny deployment
- Kopiowanie plików na serwer
- Uruchamianie aplikacji na serwerze
- OpenAPI i Swagger
- Kolejne wydanie aplikacji
DevOps
- Wprowadzenie
- Checkstyle
- PMD
- SpotBugs
- SonarLint
- SonarQube
- GitHub Actions