Kurs Aplikacji Webowych

ze Spring Framework i Angular

landing-tmp

Dla kogo jest ten kurs?

Kurs jest przeznaczony dla początkujących programistów Javy lub osób dopiero uczących się Javy. Dla wszystkich, którzy są lub chcą w przyszłości stać się programistami aplikacji webowych w Javie, czy też w innym języku. 

Wystarczy znajomość podstaw Javy i/lub podstawowa znajomość frameworka Spring i Hibernate, bo tych narzędzi będziemy używać w kursie. Polecam tutaj także mój kurs Spring Boota na Youtubie.

Jak będzie wyglądał kurs?

Cały kurs będzie polegał na tworzeniu aplikacji i to nie byle jakiej aplikacji. Podczas kursu stworzymy w pełni funkcjonalny sklep internetowy.

 

Dlaczego wybrałem właśnie sklep jako aplikację, którą stworzymy w kursie? 

Sklep to taki typ aplikacji, w którym może się zawierać bardzo wiele ciekawych komponentów. W sklepie będziemy mieli zarówno proste CRUDy (dodawanie kategorii, dodawanie produktów), jak i także bardziej skomplikowane zagadnienia takie jak proces sprzedażowy (koszyk, zamówienie, płatność). Ale też możemy mieć różne integracje, takie jak np. pobieranie kursów walut, integracje z dostawcami szybkich płatności, z usługami kurierskimi, z dostawcami usług księgowych i wiele więcej.

Więc jest to tak naprawdę doskonała baza do prowadzenia takiego kursu. Różnorodność tematów, jakie można tu poruszyć, jest naprawdę bardzo duża.

 

Kurs będzie bazował na nowoczesnym modelu budowania aplikacji, w oparciu o usługi REST. Więc nauczysz się także tworzenia REST API. Do REST API będziemy podłączać się z aplikacji frontendowej zbudowanego w Angularze.

 

W kursie będę starał się pokazywać nowoczesne narzędzia i podejście do tworzenia aplikacji.

Co będzie zawarte w kursie?

Kurs będzie zawierał:

10 modułów, każdy moduł to od 2 do 5 godzin materiału

– pod prawie każdym modułem jest dodatkowo praca domowa

– na koniec każdego modułu jest odcinek z review modułu, w którym omawiam bardzo wiele kwestii związanych z prowadzeniem projektu i utrzymaniem kodu.

– lekcje dotyczące analizy programowanych zagadnień

– omawiam podstawy frameworków Spring i Angular

– omawiam podstawy Gita (w kursie będziemy korzystać z gita, w podstawowym zakresie)

– jak korzystać z gita i Githuba

integracja z bramką płatności

– wdrożenie projektu w chmurze i omówienie zagadnień konfiguracyjnych

Czy warto zapisać się na taki kurs?

Jeśli tak, to zapisz się na listę oczekujących, formularz poniżej. 

Dzięki temu otrzymasz informacje, na jakim etapie są pracę nad kursem i kiedy startuje kurs.

Spis treści:

Moduł 1

Wprowadzenie

  1. Powitanie
  2. Jak zbudowany jest kurs, co będzie nam potrzebne
  3. Co będziemy robić w kursie? Jaki będzie wynik?
  4. Wybór frameworka: Spring, Spring Boot, Angular
  5. Wybór architektury aplikacji + Bonus: Warsztat Architektura Warstwowa
  6. Jak uzyskać pomoc podczas trwania kursu?
  7. Praca domowa
  8. Instalacja Javy (którą wersję wybrać)
  9. Instalacja środowiska IntelliJ IDEA
  10. Instalacja środowiska Visual Studio Code
  11. Instalacja bazy danych Mysql i Mysql Workbench
  12. Instalacja node.js
  13.  Instalacja gita

Moduł 2

Konfiguracja / Pierwsza usługa

  1. Wprowadzenie
  2. Podstawy Spring: beany , autokonfiguracja, dependency injection, IOC
  3. Podstawy Angulara: pliki konfiguracyjne, wstrzykiwanie zależności, dodawanie bibliotek, tworzenie komponentów
  4. Tworzymy podstawowe aplikacje dla frontendu i backendu
  5. Podstawy gita, połączenie z Githubem, tworzymy repozytoria dla projektu
  6. Przygotowanie layoutów i szablonów z Angular i Flexlayout
  7. Szybkie stylowanie komponentów z Angular Material
  8. Lista produktów – pierwsza funkcjonalność. Konfiguracja CORS
  9. Po co nam Liquibase?
  10. Konfiguracja Liquibase.
  11. Pobieranie produktów z bazy danych
  12. Review modułu
  13. Praca domowa

Moduł 3

Katalog produktów

  1. Wprowadzenie
  2. REST API wprowadzenie
  3. Tworzenie usług REST w Spring Framework
  4. Projekt bazy danych dla katalogu produktów
  5. Wprowadzenie Hibernate, JPA i Spring Data
  6. Stronicowanie produktów
  7. Różne podejścia do administracji aplikacjami
  8. Lista produktów w panelu administracyjnym
  9. Edycja produktów
  10. Dodawanie produktu
  11. Walidacja danych wejściowych
  12. Usuwanie produktów
  13. Upload obrazków
  14. Pobieranie szczegółów produktu
  15. Rewie modułu
  16. Praca domowa

Moduł 4

Kategorie produktów

  1. Wprowadzenie
  2. Relacje one-to-many (omówienie relacji jeden do wielu)
  3. Tworzymy kategorie dla produktów – panel administracyjny (CRUD)
  4. Lista kategorii na stronie głównej
  5. Podstrona kategorii, filtrowanie po kategoriach, stronicowanie
  6. Dodawanie i wyświetlanie opinii dla produktów.
  7. Mapowanie encji do DTO (kiedy potrzebne, problem n+1)
  8. Review modułu – Refactoring (pakietowanie)
  9. Praca domowa

Moduł 5

Koszyk

  1. Wprowadzenie
  2. Strona koszyka, dodawanie do koszyka
  3. Aktualizacja koszyka
  4. Ikonka koszyka – zliczanie produktów
  5. Czyszczenie starych koszyków (backend)
  6. Review modułu
  7. Praca domowa

Moduł 6

Zamówienie

  1. Wprowadzenie
  2. Analiza procesu zamówień
  3. Formularz zamówień. Zamówienia 
  4. Sposób dostawy
  5. Sposób płatności
  6. Wysyłka mailowa zamówienia do klienta
  7. Review modułu – Refaktoring, testy
  8. Praca domowa

Moduł 7

Przetwarzanie zamówień

  1. Wprowadzenie
  2. Analiza procesu przetwarzania zamówień
  3. Przetwarzanie zamówień – zmiana statusu
  4. Przetwarzanie zamówień – logi i powiadomienia
  5. Eksport zamówień
  6. Wykresy sprzedaży
  7. Review modułu
  8. Praca domowa

Moduł 8

Obsługa użytkowników - Spring Security

  1. Wprowadzenie
  2. Analiza procesu logowania. Sesja http vs JWT token
  3. Logowanie użytkownika administracyjnego (JWT token)
  4. Autoryzacja usług w Swaggerze 
  5. Rejestracja i logowanie klientów sklepu
  6. Wstrzykiwanie użytkownika w procesie zamówień
  7. Review modułu
  8. Praca domowa

Moduł 9

Integracje z bramką płatności

  1. Wprowadzenie
  2. Analiza procesu integracji z dostawcą płatności
  3. Wdrożenie projektu na serwer
  4. Integracja z bramką płatności (inicjalizacja)
  5. Integracja z bramką płatności (odbieranie potwierdzenia)
  6. Review modułu

Moduł 10

Strona główna i dalsze prace nad projektem

  1. Wprowadzenie
  2. Strona główna – promocje
  3. Obsługa błędów
  4. Cache dla usług REST
  5. Zakończenie kursu
Mateusz Dąbrowski
Prowadzący

Cześć, nazywam się Mateusz Dąbrowski, od kilkunastu lat zajmuję się zawodowo programowaniem. Moim głównym językiem jest Java, ale programowałem też w takich językach jak Python, PHP, Javascript.

W swojej karierze współtworzyłem wiele aplikacji, głównie dla sektora bankowego, ale nie są mi obce także projekty z sektora ubezpieczeń czy telekomunikacji.