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

  1. Git - Podstawy
  2. Git w IntelliJ IDEA
  3. Conventional Commits
  4. Semantic Versioning
  5. Zarządzanie gałęziami
  6. Zdalne repozytoria
  7. Zarządzanie projektem i definiowanie zadań
  8. Planowanie wydań
  9. Trunk based development
  10. GitHub Flow
  11. Branch protection
  12. Automatyzacja wersjonowania

Administracja serwerem

  1. Wprowadzenie
  2. Konfiguracja serwera VPS w AWS
  3. Jak działa SSH
  4. Połączenie SSH
  5. Własny klucz SSH
  6. Konfiguracja serwera

Rozwój aplikacji

  1. Tworzymy projekt
  2. Testy manualne
  3. Testy jednostkowe
  4. Testy integracyjne
  5. Testy z prawdziwą bazą danych
  6. Liquibase
  7. Dane testowe
  8. Profil deweloperski
  9. Testcontainers
  10. Docker Compose Spring Support
  11. Budowanie obrazu
  12. Publikacja obrazu

Deployment

  1. Lokalny deployment
  2. Kopiowanie plików na serwer
  3. Uruchamianie aplikacji na serwerze
  4. OpenAPI i Swagger
  5. Kolejne wydanie aplikacji

DevOps

  1. Wprowadzenie
  2. Checkstyle
  3. PMD
  4. SpotBugs
  5. SonarLint
  6. SonarQube
  7. GitHub Actions