Kurs Aplikacji Webowych, to mój nowy kurs, który miał premierę 3 listopada 2022. W kursie przedstawiam jak budować aplikacje webowe. Na przykładzie aplikacji sklepu internetowego pokazuję jak tworzyć nowoczesne aplikacje webowe.
Tym wpisem chcę Ci przedstawić mój kolejny kurs, którego premiera będzie już naprawdę niedługo, bo jeśli wszystko pójdzie dobrze, to na początku listopada kurs już będzie dostępny.
Co prawda już raz przekładałem premierę, bo niestety nie wszystko poszło po mojej myśli, ale w IT to normalne, że terminy się przesuwają.
Poniżej zamieszczam też film promujący mój nowy kurs, w którym opowiadam, co znajduje się w tym kursie. Pokazuję także, jak kurs wygląda od środka i jak będzie wyglądała aplikacja, którą tworzymy w kursie.
Więcej informacji znajdziesz tutaj: Link do strony kursu
Co będzie w kursie?
W kursie pokazuję jak stworzyć nowoczesną aplikację webową opartą o REST API, gdzie będziemy wykorzystywać narzędzia takie jak Spring Framework i Angular.
Cały kurs jest realizowany zgodnie z ideą Clean Code. Pokazuję jak tworzyć prawidłowo klasy, metody, jak je prawidłowo nazywać, co umieszczać w kodzie a czego nie, jak robić refaktoring i jak pisać testy jednostkowe.
Poza tym opowiadam dużo o różnych tematach technicznych, o narzędziach, których używamy, czyli frameworkami Spring na backendzie i Angular na frontendzie, ale także o dodatkowych bibliotekach.
Opowiadam o najważniejszych i najbardziej przydatnych rzeczach związanych z tymi frameworkami, o konfiguracji w projekcie, jak ona powinna wyglądać, żeby przysparzała najmniej problemów, podczas realizacji projektu.
Jak używać Hibernate i bazującej na nim biblioteki Spring Data, jak tworzyć, encje i tabele dla tych encji, jak zaprojektować bazę dla takiej aplikacji oraz automatycznie aktualizować schemat bazy danych.
Przez cały kurs zwracam też uwagę na to jak optymalnie tworzyć funkcjonalności korzystając z dostępnych narzędzi.
Cały kurs to ponad 30 godzin materiału, Kurs podzielony jest na 10 modułów, z których każdy zawiera budowanie jakiejś konkretnej funkcjonalności. Po skończonym kursie uzyskamy działające demo sklepu internetowego, wdrożymy je na platformę chmurową i zintegrujemy z płatnościami online.
Co zawierają poszczególne moduły?
Moduł 1
Pierwszy moduł to wstęp do kursu. Zawiera powitanie i informacje o tym, jak zbudowany jest kurs i gdzie szukać pomocy.
Opowiadam o tym, dlaczego wybrałem takie narzędzia. Jest też odcinek o architekturze projektu i dlaczego wybrałem taką, a nie inną, czyli architekturę warstwową. Jako bonus załączam mój Warsztat architektury warstwowej, tak żeby każdy kursant miał solidne podstawy z tej architektury.
Poza tym to, co zawsze umieszczam w swoich kursach to potrzebne narzędzia i instrukcje instalacji tych narzędzi.
Kurs Oczywiście będzie w Javie z użyciem frameworka Spring Boot na backendzie i Angular na frocie i na frocie będziemy używali Typescriptu. Więc będzie potrzebna podstawowa wiedza z zakresu Javy i Typescriptu, czy też Javascriptu.
Jeśli chodzi o Springa i Angulara to tutaj będę starałem się wszystko tłumaczyć na bieżąco, ale też warto cokolwiek wiedzieć o tych narzędziach. Projekt backendowy będzie budowany Mavenem, ale też pokazuje jak skonfigurować jednocześnie Gradla dla takiego projektu, więc będzie można korzystać z jednego albo drugiego narzędzia, chociaż preferowany będzie tutaj Maven.
Jako bazy będziemy używali Mysqla, ale też nic nie stoi na przeszkodzie, żeby realizować projekt z inną bazą sqlową np Postgres.
Środowiska programistyczne będą dwa oba darmowe Intellij IDEA community i Visual Studio Code. Idea do backendu a Visual Studio do frontendu. Visual studio bardzo dobrze sprawdza się w projekcie Angularowym dlatego postanowiłem, że będę używał go do frontendu. Oczywiście tutaj też nie ma problemu z użyciem innych narzędzi. Oba środowiska są darmowe i ogólnie odstępne i każdy może z nich skorzystać.
Moduł 2
W module drugim omawiam podstawy frameworków Sring i Angular oraz tworzę dwie podstawowe aplikacje dla frontendu i backendu.
A także robię setup całego środowiska, omawiam podstawy gita i jak podłączyć repozytoria do Githuba, jak skonfigurować Liquibase.
Omawiam zagadnienia związane z budowanie layoutów w Angularze. Pokazuję jak używać flexLayout i biblioteki Angular Material, dzięki, której dosyć łatwo można robić GUI w Angularza.
I też w tym module realizujemy pierwszą usługę.
Prawie każdy moduł kończy się odcinkiem Review, w którym podsumowuję cały moduł i omawiam dodatkowe zagadnienia, wykonuję refaktoringi i tym podobne.
I prawie każdy moduł zawiera pracę domową, niektóre są bardzo małe, inne bardzo rozbudowane, dzięki czemu można dodatkowo samodzielnie wykonać dodatkową funkcjonalność.
Moduł 3
Moduł trzeci to realizacja katalogu produktów. Tutaj opowiadam o rest api, Pokazuję jak można zaprojektować przykładową bazę dla sklepu internetowego
Oraz Realizujemy CRUD dla katalogu produktów w panelu administracyjnym. Także mamy tu upload plików, i sposoby radzenia sobie z duplikatami uploadowanych plików.
Moduł 4
Moduł czwarty To kolejny CRUD, tym razem kategorii. Przy okazji kategorii omawiam, także relacje one-to-many, czyli najpopularniejszą relację, jak można zaimplementować w aplikacji bazodanowej. Mówię o tym, na jakie sposoby można ją skonfigurować, w jakiej sytuacji użyć jakiej implementacji.
Podłączam także kategorię dla produktów i pokazuję jak rozwiązać problem n+1, przy pomocy mapowania.
W review modułu robię refaktoring pakietowania i rozłożenia pakietów w aplikacji omawiam, różne aspekty różnych pakietowań, package by layer i package by feauture
Moduł 5
Moduł pięć, to początek procesu zakupowego, czyli implementacja koszyka. Omawiam różne sposoby implementacji koszyka, co w jakiej sytuacji może się sprawdzić i jak możemy podejść do realizacji tego zadania
Moduł 6
W module szóstym zajmiemy się realizacją procesu zamówień. I złożymy pierwsze zamówienia. Dodamy konfigurację różnych sposobów płatności i sposobów dostawy.
Oraz wysyłkę mailową, pokażę jak zaimplementować integrację z biblioteką do wysyłania maili, w taki sposób, żeby było ona łatwo zmieniała poprzez propertiesy w aplikacji.
W review modułu pokazuję jak napisać testy jednostkowe do metody składania zamówień i jak może to nam pomóc w procesie rozwoju aplikacji.
Moduł 7
W module siódmym realizujemy proces przetwarzania zamówień w panelu administracyjnym. Łącznie z wysyłaniem wszystkich potrzebnych powiadomień mailowych.
I także realizujemy takie funkcjonalności jak eksport zamówień do plików CSV i wykresy sprzedaży.
Moduł 8
Moduł ósmy to konfiguracja uwierzytelnienia i autoryzacji. Czyli zabezpieczenie aplikacji. Konfiguracja logowania administratorów sklepu, ale także, klientów. Zajmiemy się konfiguracją Spring Security na backendzie, pokazuję jak zaimplementować obsługę Json Web Token i na backendzie i na frontendzie, ale także jak odpowiednio zabezpieczymy frontend poprzez napisanie odpowiedniego Guarda w Angularze.
Moduł 9
Moduł dziewiąty to wdrożenie projektu na serwer i implementacja integracji z bramką płatności. Pokazuję jak wdrożyć aplikację na platformę chmurową. Pokazuje jak przy użyciu restowego api możemy się zintegrować z dostawcą płatności. Jak odbierać potwierdzenia transakcji itd.
Moduł 10
Ostatnio moduł dziesiąty, to prace związane ze stroną główną sklepu i z funkcjonalność promocji, które na niej będziemy umieszczać.
Poza tym w module dziesiątym dodałem techniczne tematy, takie jak chociażby obsługa błędów, czy też cachowanie usług restowych.
Podsumowanie
W kursie przeprowadzę Cię poprzez wszystkie etapy tworzenia aplikacji webowej, od wstępnej konfiguracji projektu aż do wdrożenia na serwer. Starałem się pokazać w nim jak implementować rzeczy, które przydają się każdemu programiście na co dzień w pracy. Pokazuje jak tworzyć usługi restowe, jak integrować się poprze usług restowe z bramką płatności, jak wysyłać maile, jak uploudować pliki, jak konfigurować security dla aplikacji jak pisać testy i wiele, wiele więcej…
Jeśli kurs Ci się spodobał, to zapraszam do zapisu na listę oczekujących. Dzięki temu będziesz mógł uzyskać dodatkowe zniżki na zakup kursu w dniu premiery.
<< Przejdź do strony kursu >>
Jaka szkoda że nie ma dobrego polskiego kursu na youtube do Javy 19. Jest tysiące tutorialii z Indii, niestety pisze tam że uczą Javy 11, a i tak wymieszana jest Java 6, 7, 8. Gdybym dobrze się nauczył Javy wtedy mógłbym kupić taki kurs webowy. Gdyby BroCode lub Derek Banas zrobił kurs do Javy 20, ale na razie nie ma.
Tak naprawdę nie ma to znaczenia, czy uczysz się Javy 8, 11, 17, czy też 19, różnice pomiędzy tymi wersjami są niewielkie. Ja w kursie używam Javy 17, bo jest to wersja z długim supportem (LTS). Poza tym nikt raczej nie tworzy kursów na konkretną wersję Javy, jeśli nie jest to wersja LTS, bo nie ma to sensu. Więc szanse, że znajdziesz kurs do Javy 19, są prawie równe zero. Obecnie aktualny LTS to wersja 17. Wcześniejsza wersja LTS to 11. Więc możesz poszukać kursów do tych wersji.
Poza tym wiele firm korzysta jeszcze z Javy 8, więc jak się będziesz uczył nawet wersji 8, to będzie ok.
Tu masz artykuły z różnicami w Javie pomiędzy wersjami LTS:
https://nullpointerexception.pl/zmiany-w-javie-od-wersji-8-do-java-11/
https://nullpointerexception.pl/zmiany-w-javie-od-wersji-11-do-java-17/
Rozumiem ale ja w ogóle nie znam Javy i chciałbym nauczyć się od razu najnowszej wersji Javy 20 mam zainstalowany openjdk 20.
Na początku chcę napisać jakieś programy GUI, ale nie w Swingu tylko w JavieFX, jakiś edytor do Javy, odtwarzacz muzyczny jak Winamp, AIMP. Dlaczego jest tak dużo kursów do nowoczesnego C# na youtube, a do Javy 19 wcale? Dzień temu Derek Banas wypuścił kurs do nowoczesnego C# 11. Obecnie czekam na książki Cay. S. Hortsmann, Herbert Schildt, podobno najlepsza jest książka Tony Gaddis Owoce programowania, czekam aż Helion wznowi wersję do Javy 20 LTS. Kolega poleca mi zostawić Javę i uczyć się C# 11, ponieważ nie ma w nim getterów i setterów, jest prostszy i jest mniej pisania. Starą Javę to teraz piszą sami Hindusi, ponieważ Orcale nie zależy no tworzeniu tutorialii dla nowej Javy, gdyż zarabiają najwięcej na Javie 8.
Przeczytaj ze zrozumieniem to, co napisałem wcześniej. Poza tym w Javie nie pisze się GUI. Tu masz kilka rzeczy, których nie warto uczyć się w kontekście Javy i czego warto się uczyć https://www.youtube.com/watch?v=TF3F_-YUlR4
Nie wiem skąd bierzesz informacje o Javie i Hibdusach, ale poszukałbym trochę bardziej wartościowych źródeł. W internecie jest tego całkiem sporo… A wybieranie języka na podstawie tego, czy ma gettery i settery, czy też nie, to słabe kryterium. Bo C# też je ma, tylko inaczej się je robi, zresztą w Javie też można je robić na różne sposoby 😉