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!
Teraz jeżeli chodzi o tę funkcjonalność tutaj do wylogowania się użytkownika, to
będziemy prawdopodobnie musieli skorzystać z zewnętrznej paczki.
Jeżeli chodzi o takie elementy
jak drop down, jak listy to bardzo często sięgam po paczki, które są już gotowe,
które całe problemy związane z accessibility z nawigacją za pomocą kibol
klawiatury tak, ale Arial label czytników wszystko mamy to rozwiązane.
Jest kilka znanych bibliotek znanych paczek, z których warto korzystać.
Natomiast zanim przejdę Ci do przedstawienia kilka z nich
zróbmy sobie jeszcze tutaj week na full tych elementów, żeby po prostu odciągnąć
od siebie ten guzik na prawą stronę, tak jak to mamy w designie naszym.
Generalnie rzecz biorąc zamiast po prawej stronie i to jest po lewej stronie, czyli.
Wróćmy teraz do naszego edytora kodu i tutaj sobie ustawimy jeszcze full.
Zapiszę sobie te zmiany, no i już teraz mamy to tak jak powinno wyglądać.
Jeżeli chodzi o ten guzik
i o dodatkowe biblioteki, które sobie wykorzystamy do tego, żeby zbudować tutaj
drop down menu, to mamy kilka możliwości, jeżeli chodzi o
bibliotekę, która jest wykorzystywana tak naprawdę w target i przez twórców Windows.
Winda to jest schedule suit.
Tutaj też mamy menu Drop Down
komponent, który moglibyśmy wykorzystać w naszym projekcie.
O tyle jest to fajnie zrobione, że tak naprawdę całe zagadnienia związane z
accessibility z nawigacją za pomocą klawiatury są tutaj za nas rozwiązane i za
pomocą Skypa mogę sobie wyjść z tego guzika.
Za pomocą tabulacji też przeskakuję sobie
bardzo łatwo focusem, także to tutaj jest wszystko fajnie rozwiązane.
Polecam. Tak naprawdę jeżeli chcesz jeszcze
nie wybrałeś Twojej biblioteki komponentów to zapoznaj się z super.
Kolejnym wyborem, który dosyć zyskuje ostatnio dużą popularność jest szat UI.
Są to gotowe komponenty, które pozwalają nam budować
różne funkcjonalności w naszych aplikacjach.
Generalnie mamy tutaj karty, mamy tutaj
taski, mamy tutaj playground, czyli możemy sobie coś zapisać.
To jest bardziej do miłośników JA czy PTI.
Jeżeli chodzi o formy to też mamy tutaj duże wsparcie prawdopodobnie w naszym
projekcie może sobie wykorzystamy jakiś z tych komponentów.
Natomiast jeżeli chodzi o to co ja wykorzystam jako drop down to
jest biblioteka, radix radix to to jest też gotowe.
Po prostu prymitywy, które są komponentami nie stylowe nimi zupełnie.
Musimy zadbać o style tych komponentów.
Natomiast całe accessibility,
całe problemy z nawigacją za pomocą klawiatury zostaną zdjęte z naszej głowy.
Dlatego skorzystamy sobie tutaj z tego komponentu drop do mniej, który po prostu
tworzy takie proste menu po naciśnięciu guzika wydaje się to proste.
Natomiast generalnie rzecz biorąc, jeżeli przyjdzie Ci do budowania takich
komponentów samemu, to nie są one tak banalnie proste, bo całe problemy związane
z accessibility, z nawigacją, z klawiaturą tutaj z czytnikami Ania Label są tutaj tak
naprawdę dla Ciebie rozwiązane zaimplementowane.
Dodatkowo jeżeli chodzi o plus, tutaj
radix podpowiada w jaki sposób trzeba skonfigurować Cal Window, żeby móc
korzystać tak naprawdę z tych samych animacji, które mamy tutaj już widoczne.
Dlatego skorzystamy tutaj z tego gotowego komponentu.
Pierwsza rzecz, którą sobie zrobimy, to zainstalujemy sobie ten komponent.
Musimy go sobie zainstalować w naszym
projekcie, czyli npm Install radix build drop to menu.
Zaczniemy od tego.
Przejdziemy do naszego terminalu.
Tu sobie zainstalujemy naszą naszą bibliotekę Radix Mini.
Poczekamy chwilkę się zainstaluje, teraz przejdziemy do naszej konfiguracji.
Tak więc tutaj, bo musimy generalnie skonfigurować sobie windę, żebyśmy mieli
podobne czyli friends podobne animacje, czyli wystarczy nam ta sekcja tutaj.
Jeżeli chodzi o frames i animation to na pewno będziemy potrzebować, bo tak
naprawdę będziemy chcieli zaaplikować jakieś animacje na nasz dom.
Możemy to również zrobić pluginem Timeline
Animation, natomiast ja tutaj pójdę tą drogą, którą proponują nam twórcy Radix.
A jeżeli chodzi o tą konfigurację to sobie to skopiuję.
Musimy sobie przejść teraz do konfiguracji Timeline w naszym projekcie.
Poszukajmy tutaj team i tutaj musimy sobie otworzyć extended.
No i tutaj mamy obiekt tak naprawdę, który przyjmie wartości, które sobie skopiowali.
Nie wykorzystujemy tutaj żadnych wartości jeżeli chodzi o te kolory.
Tych kolorów nie będziemy potrzebować.
W naszym przypadku zapiszemy sobie naszą konfigurację.
I teraz przejdźmy sobie do naszego edytora kodu tutaj i zaczniemy używać tych właśnie
prymitywnych obiektów, które są dostarczane nam z tą biblioteką.
Do tego, żeby stworzyć sobie taki drop potrzebujemy jakiegoś triggera.
Jest to bardzo fajnie tutaj opisane.
To API jest dosyć czytelne i to co jest portalem to tak naprawdę to jest.
To, co zostanie wyświetlone jako portal w
naszej aplikacji, czyli te całe menu, które tutaj mamy poniżej.
Przejdźmy sobie tutaj do implementacji tego.
Jesteśmy w naszym komponencie po stronie klienta, czyli jak najbardziej możemy
sobie myślę zaimportować nasz drop down menu z naszego zainstalowanego komponentu.
Możemy zrobić tak samo jak tutaj jak
twórcy, czyli import gwiazdka z drop do menu.
Możemy to teraz zapisać tutaj.
Jeżeli chodzi o drop do menu to otworzymy
tutaj naszego roota w naszym betonie i to jest nasz lutowy komponent.
Co teraz będziemy potrzebować?
Na pewno będziemy potrzebować jakiś
trigger komponent regulujący, czyli nasze tak naprawdę naszym naszą ikonkę.
To będzie nasz trigger, natomiast to musimy sobie opakować drop down trigger.
I tutaj wsadzimy naszą ikonkę.
Zapiszemy to sobie jeszcze.
Tak naprawdę funkcjonalność tutaj nasza nie będzie w ogóle miała miejsca tak
naprawdę, bo póki co nie otwieram, nie otwiera nam się.
Na razie tutaj nic nie funkcjonuje, dlatego musimy się zająć tutaj drop downem
naszymi contentem, który będzie wyświetlany.
Do tego musimy sobie tutaj pod trigger na
pewno otworzyć drogę on Portal, czyli drop on, menu i portal.
To jest coś, co jest wyświetlane tak
naprawdę po naciśnięciu guzika tworzy się portal w naszej aplikacji.
Jeżeli dobrze znasz jak to, to nie powinno być to pojęcie być obce.
Tak naprawdę jeżeli chodzi o content to też owijamy to tak naprawdę menu content.
No i tutaj możemy sobie już wrzucić nasz
właściwy content, który będziemy potrzebowali.
W naszym przypadku będziemy tak naprawdę
potrzebowali tylko jeden drop do menu Item.
Który będzie nam przydatny.
I tutaj jako item możemy skorzystać z gotowego komponentu, który dostarcza nam
kleryk, mianowicie sa sign out button czyli Sign.
Out button od Clarka.
Jeśli zaznaczymy, że Signal od Callback.
Zrobimy sobie, żeby przeniósł nas na stronę źródłową naszej aplikacji.
Czyli tak naprawdę możemy sobie zrobić router i podajemy stronę, do której chcemy
się przenieść po naciśnięciu przycisku Sign.
To będzie po prostu nasza lutowa strona marketingowa.
Jeżeli chodzi o router to musimy
wykorzystać Suka czyli const Router juz router next navigation.
Zapisujemy to sobie i już.
W tym momencie jak nacisnę ten guzik to mam sign out.
Jeżeli nacisnę signal
to powinienem na chwilkę zostać przeniesiony na stronę marketingową.
Mamy wylogowanie i już gotowe.
Czyli zaloguj się znowu naszym użytkownikiem.
Teraz zajmiemy się troszeczkę sterowaniem
tego wszystkiego, bo nie wygląda to przyznaję jakoś zachęcająco.
Na chwilę obecną także.
Wróćmy do sterowania naszego naszego contentu, bo to jest najważniejsza
rzecz, która jest wyświetlana po naciśnięciu guzika.
To jest wrapper content, czyli class.
No i zaczniemy.
Zróbmy sobie menu w.
Na 220 pikseli.
Jeżeli chodzi o zaokrąglanie, to drugą rundę zrobimy.
Jeżeli chodzi o ekran to zróbmy sobie piegi.
Niech będzie z 50.
Padding zróbmy na 4.
Generalnie jeżeli chcemy 5 pikseli padding to ustawmy sobie
na razie na 2 i jeżeli chodzi o shadow to ja mam przygotowany style z boku.
No i tutaj ustaliliśmy sobie shadow
naszego elementu, który jest wyświetlany to sobie po prostu wziąłem z jakiegoś
generatora w internecie do cieni w ten weekend.
Jeżeli chodzi o weekend to zaznaczam
tutaj, że opasce tej transfer będzie zmieniony.
Zobaczę jak to wygląda tutaj.
Jeżeli chodzi o data to to to sobie wziąłem z dokumentacji.
Generalnie rzecz biorąc jeżeli przekazujemy side bottom to generalnie
to będzie wyświetlany, to animacja będzie przychodził z góry na dół.
Taki malutki efekt animacji.
I tutaj mamy animacja, która ma być.
Ma być slide, open fade.
Czyli jeżeli ja zamknę to, to to jest do góry Troszeczkę przesunięte jest White.
I to sobie możemy już tutaj zapisać.
Jeżeli chodzi o menu item no to nie wiem czy musimy to jakoś oscylować.
Myślę, że to co mamy tutaj jest jak najbardziej wystarczające.
Czyli tutaj zostawimy sobie mamy już
funkcjonalność wylogowania naszego użytkownika.
Teraz przejdziemy do budowania kolejnych części w naszej aplikacji.
Mianowicie zajmiemy się
już stroną z portem i tym tutaj całą zawartością, którą mamy po prawej stronie.