Projekt aplikacji SaaS
8 godz. 8 min · Next.js · Full-stack i Programowanie
Daniel NoworytaFull stack DeveloperNaucz się tworzyć bezpieczne systemy uwierzytelniania i autoryzacji, korzystając z Clerk. Pokażę Ci, jak to robić krok po kroku, aby Twoje aplikacje były bezpieczne i profesjonalne.
Zrozumiesz, jak skutecznie i bezboleśnie połączyć swoją aplikację Next.js z bazą danych PostgreSQL na DigitalOcean. Pokażę Ci, jak używać Prismy, aby ułatwić ten proces.
Dowiesz się, jak zarządzać routingiem i nawigacją w swojej aplikacji, aby użytkownicy mogli łatwo i intuicyjnie poruszać się po Twojej stronie.
Pokażę Ci, jak z łatwością wdrożyć swoją aplikację na Vercel, jednym z najpopularniejszych środowisk hostingowych dla aplikacji Next.js.
Nauczysz się zarządzać stanem aplikacji i jak wykorzystać server actions w praktyce, co pozwoli Ci na tworzenie bardziej zaawansowanych i dynamicznych funkcji.
Ten kurs jest dla osób, które już mają pewne doświadczenie z JavaScript i chcą zgłębić swoje zrozumienie Next.js. Zakładamy, że znasz podstawy TypeScript, TailwindCSS, ale nie potrzebujesz doświadczenia z Next.js - wszystko wyjaśnię Ci od podstaw!
Zacznijmy od stworzenia dwóch podstawowych folderów, które dwóch podstawowych grup
naszych robotów, które będziemy mieli w naszej aplikacji.
Tak jak wspominaliśmy już w naszym diagramie, który można zobaczyć tutaj.
Będzie to Marketing i application, czyli
przenieśmy sobie teraz te dwie podstawowe grupy na strukturę folderów.
W Next jest, czyli będzie marketing.
Mamy pierwszą grupę naszych robotów i dodatkowo potrzebujemy Application.
Mamy dwie główne grupy, które będą
odpowiedzialne za poszczególne roboty w naszej aplikacji.
Jeżeli chodzi o marketing, to tutaj
będziemy potrzebowali na pewno jakiś layout
marketingowy, gdzie będziemy mieli główny header, czyli layout CX.
Zostawmy sobie ten plik na razie pusty
i page, który będzie wyświetlany na naszym Page tests.
Page główny możemy sobie skasować tego względu, że w naszym marketingu to ten
page będzie głównym page, na którym będzie lądował użytkownik naszej aplikacji.
Pierwszy, który wchodzi jeszcze nie ma
swojego konta, chce poczuć troszeczkę co nasza aplikacja robi.
To tutaj to będzie home page.
Możemy sobie przenieść tą zawartość do
pliku Page Design, w tym miejscu zapisać i ten plik możemy sobie spokojnie skasować.
Jeżeli chodzi o ten layout, który mamy tutaj, jest to podstawowy layout, który
nic nam jeszcze nie robi, tylko to jest główny layout całej naszej strony.
Możemy sobie tak naprawdę ten namiot tutaj
zostawić, natomiast na pewno będziemy potrzebowali naszego layoutu, bo
do marketingowego Aha, tam sobie wrzucimy informacje na temat
Readera, natomiast tutaj już oczywiście nie potrzebujemy HTML, body
i innych tagów, tylko będziemy potrzebowali tak naprawdę tylko i
wyłącznie miejsce na na nasz główny główny div main.
Czyli możemy sobie zrobić
to za pomocą albo diva zwyczajnego, którym będzie cała nasza treść.
I tutaj pod spodem będziemy mieli header, który będzie hejterem naszej aplikacji.
Header będzie zawierał całą naszą nawigację, czyli możemy sobie już tutaj
skomentować Navigation i poniżej Khedira będziemy mieli jeszcze Children.
Musimy też umożliwić renderowanie podstron
na naszej aplikacji marketingowej, czyli Children.
Tutaj tak naprawdę możemy sobie typować filter, który przychodzi jako read not.
Mamy typy już tutaj podane, także jest wszystko w porządku.
Mamy nasz pierwszy pakiet.
Teraz po tych zmianach
wprowadzonych przez nas, tak naprawdę nic nie powinno się zmienić, jeżeli odpalimy
sobie naszą aplikację znowu w trybie developerskim.
MPM Render to tak naprawdę
na stronie głównej powinniśmy znowu zobaczyć Hello from Pocket.
Jeżeli wszystko jest ok, tak, mamy Hello Pocket.
Tak naprawdę nic się
tutaj w tym przypadku nie zmieniło, dlatego, że przenieśliśmy zrobiliśmy
lokalizację pliku pages, stąd to marketing.
Natomiast pewnie zastanawia Cię teraz
co by było, gdybym sobie w Application zrobił stronę Page?
Pierwsza strona page została by
renderowane, dlatego też Application będziemy potrzebowali sobie tutaj
zrobić znowu dwie podgrupy, bo nasza aplikacja będzie miała dwie podgrupy.
Będzie to APP, który będzie tak naprawdę naszą aplikacją końcową i będzie
grupa do autoryzacji, czyli tam będą roboty sign in signal.
To co też było pokazane tutaj na naszym diagramie, jeżeli sobie zobaczymy.
Plus mamy grupę aut, mamy grupę APP, a tutaj jak widzisz w marketingu tak
naprawdę mamy home block, czyli tutaj nie ma wielkiej filozofii.
Dokończymy sobie jeszcze ten marketing.
Musimy sobie stworzyć jeszcze podstronę
Sleep block, czyli przejdźmy do naszego edytora kodu.
Tutaj w marketing tworzymy sobie Block folder.
To już nie jest grupa. To jest normalna podstrona, która będzie
korzystała z tego samego layoutu co strona główna naszej strony.
I tutaj możemy sobie zrobić Page design. Tutaj.
Ja skorzystam
ze skopiowania tej zawartości, bo tego tutaj zrobimy Block Page.
Tutaj możemy sobie zrobić homepage
i w tym przypadku zmienić nazwy naszych komponentów.
Mamy Block page, zrobimy sobie Hello from
Block, żeby sprawdzić czy rzeczywiście to nam zadziała.
Mamy stronę Block, czyli.
Przejdźmy teraz do naszej aplikacji, do naszej przeglądarki.
I w tym momencie jak sobie wpiszę Slash Block powinniśmy dostać Hello from Block.
Mamy Hello from blog, czyli nasz routing.
Sprawdza się znakomicie Do tej pory dobrze.
Mamy marketing póki co z głowy jeżeli chodzi o routing.
Teraz przejdźmy do naszej aplikacji.
Tutaj potrzebujemy dwie podgrupy, czyli zróbmy sobie podgrupę APP.
To będzie podgrupa dla aplikacji.
Jeszcze potrzebujemy jeszcze jedną podgrupę OFF.
Dwie podgrupy.
Jeżeli chodzi o aut to póki co zostawimy to sobie.
Autoryzacją zajmiemy się w przyszłym module tego kursu.
Natomiast jeżeli chodzi o UP możemy sobie tutaj już stworzyć nasze podstrony.
To będą dwa Dashboard i subskrypcje.
Natomiast jeszcze jedna ważna rzecz to do naszego app.
Zrobimy sobie w grupie Application.
Chcemy, żeby to miało zupełnie inny layout.
Tak, czyli zróbmy sobie application layout.
Tutaj już chcemy używać layoutu nie z marketingu, tylko chcemy używać naszego
layoutu z Application i nasz layout Application może póki co
wyglądać podobnie do tego z marketingu z kopiujemy zawartość.
Zapiszę to sobie tutaj.
Jeżeli chodzi o header, to tutaj w
aplikacji na pewno go nie będziemy potrzebować, natomiast w naszym przypadku
to będzie jakiś pewnie ASIC, to będzie te nasze główne menu,
to będzie właśnie to menu, które mamy po lewej stronie naszej aplikacji.
Możemy wykorzystać tego tag side
i mamy jeszcze do tego main tutaj, gdzie będzie główna treść naszej aplikacji.
Będzie to dynamiczna treść dla Dashboard i dla podstrony subskrypcji.
Także jeżeli przejdziemy w APP potrzebujemy dwie podstrony tego layoutu.
Potrzebujemy podstronę Dashboard.
I potrzebujemy podstronę Subskrypcje.
Dwie podstrony. Dla Dashboard zbudujemy sobie Page Six.
Tutaj możemy sobie skopiować z naszego market i zrobimy sobie dashboard.
Telefon Dashboard.
I jeżeli chodzi o kolejną stronę skryptu to też będzie page fix.
Jeżeli wszystko to zadziałało tak jak chcemy, to tak naprawdę powinniśmy być w
stanie teraz przejść na stronę Dashboard i tak naprawdę w naszym layoucie tutaj
jeszcze żeby to pokazać to zróbmy sidebar, żeby to pokazać dokładnie.
To przejdźmy jeszcze sobie tutaj w layout jeżeli chodzi o marketing.
Zrobimy sobie marketing header.
Jeżeli będziemy skakać pomiędzy marketingowymi stronami, to tak naprawdę
marketing feeder powinien być hejterem, który jest zaaplikowany.
Natomiast jeżeli będziemy skakać sobie po
stronach aplikacji, to w layoucie powinniśmy mieć sito.
Przejdźmy teraz do naszej przeglądarki.
Odświeżę sobie tą stronę i teraz przejdźmy na stronę Dashboard.
I zobacz mamy suite.
Jeżeli sobie cofnę, to mam marketing.
Czyli wszystko jest w porządku.
Aplikujemy dwa różne layouty do dwóch różnych celów.
Mamy cele marketingowe dla naszej strony,
gdzie mamy stronę blogową, w której chcemy mieć ten sam header co na landing page'u.
Natomiast mamy też tutaj aplikację, gdzie
chcemy mieć zupełnie inne elementy zawiązane w tej aplikacji.
Także to jest taka bazowa struktura
bazowy, bazowa struktura, bazowy routing naszej aplikacji.
Jeżeli mamy już nasz bazowy routing, teraz przejdźmy do autoryzacji
i autoryzacji i uwierzytelniania użytkownika i do tego, żeby niektóre z
tych endpoint ów były endpoint ami otwartymi.
Chcemy, żeby SLES, czyli root był otwarty,
bo chcemy umożliwić klientom, którzy nie mają jeszcze konta na naszej aplikacji,
oglądanie swobodne treści na blogu czy też treści marketingowych.
Natomiast treści, które są w Grupie Application powinny być treściami
zamkniętymi tylko dla zalogowanych użytkowników.
I do celu.
Do tego celu użyjemy znakomitego narzędzia, jakim jest Clark.