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 przejdźmy do budowania już naszej struktury strony.
Generalnie chodzi nam o layout marketingowy, dlatego zajmiemy się
najpierw tymi otwartymi wrotami, które mamy bez konieczności logowania się.
Generalnie rzecz biorąc w aplikacjach przyjęło się, że jednak ten landing
pojęcie jest otwartym ruchem, nie musimy się do niego logować.
Tam mamy informacje na temat naszego
startupu, do czego on przeznaczony służy tak naprawdę dodatkowo jakaś sekcja blog.
My to mamy też tutaj zrobione. Mamy stronę, blog.
W naszej aplikacji tego przyjmiemy.
Zajmiemy się
tym chodem, żeby stworzyć odpowiednią nawigację po naszej aplikacji.
Zacznijmy od tego, że w header tak naprawdę chcemy mieć załóżmy 2 linki.
Chcemy mieć link do naszej strony domowej i chcemy mieć też link do naszego bloga.
W tym przypadku czyli korzystamy z komponentu Link z next jest.
Niech to będzie tutaj href ustawiony na stronę domową i kolejnym
linkiem niech tutaj będzie link do naszej naszej strony z blogiem.
Teraz jeżeli chodzi o linki o statyczne
typowanie tutaj adresów zauważ, że mogę napisać kontakt i pomimo tego, że ja nie
mam strony kontakt nie dostanę żadnej informacji od naszego frameworka.
Dlatego przydatną opcją jest włączenie
sobie w konfiguracji statycznego typowania tych linków tutaj.
Tak że jeżeli wpisać sobie kontakt ja nie mam stworzonej strony kontakt to next.
Czy jest jest na tyle inteligentnym
frameworkiem, że będzie w stanie mi to powiedzieć?
Hej Daniel, słuchaj, nie masz takiego
gluta, nie masz takiej strony stworzonej, także powinieneś nad tym pomyśleć.
I jak to się robi?
Generalnie mamy w configu next kropka config jest.
Mamy opcję eksperymentalną jeszcze co prawda na dzień dzisiejszy natomiast
sprawdza się dosyć fajnie już na produkcji.
Dlatego ja sobie zawsze lubię to włączyć i przełączamy sobie trójkę Roads na true z.
Kopiujemy sobie teraz tą opcję, przejdziemy do naszego next config.
Czy jest i tutaj w konfiguracji T.
I teraz przejdźmy do naszego naszego layoutu.
Restart.
Restartujemy serwer, restartujemy naszą aplikację czyli NPM Render Wystartujemy.
Nasza aplikacja jest na localhost 3000.
Przejdźmy teraz tutaj do naszego edytora kodu i zobacz co się dzieje.
Już dostaję informację kontakt nie istnieje, nie mamy takiego
roota tutaj jeżeli wpiszemy sobie blok to już wszystko jest w porządku.
Nexus jest. Wie na tyle, że mamy taką stronę
i możemy do niej linkować tak, że mamy pierwsze dwa linki na naszej stronie.
Ja sobie teraz to tutaj otworzymy naszą stronę
localhost 3000 damy na prawą stronę, natomiast nasz edytor kodu będzie tutaj po
lewej stronie i postaramy się teraz ładnie stylizować nasze naszą nawigację.
Żeby zobaczyć te linki na naszej stronie musimy nie zamykać
tych tagów, tylko musimy pozostawić tutaj miejsce na napis home zapiszemy już w tym
momencie powinno się pojawić home tutaj na naszej stronie i to samo robimy tutaj.
Z tej strony będzie blog.
Jeżeli sobie teraz będziemy przełączać to jesteśmy na stronie bloga
i blog ma ten sam header co strona forum czyli kolumna główna i blog tak naprawdę
mają tą samą nawigację i też o to nam chodzi.
To są 2 otwarte rolety w naszej aplikacji.
Jeżeli chodzi o styl tego to możemy się tym zająć.
Chcemy tak naprawdę skorzystać.
Tutaj korzystamy w naszym projekcie z Windows i w naszym przypadku będzie to.
Chcemy wyśrodkować to wszystko.
Chcemy zrobić display flex.
Chcemy zrobić max UI na 7 XML.
Generalnie lubię sobie coś takiego
przyjąć, żeby maksymalna szerokość tak jak widzisz tutaj
już jak na większych ekranach przejdziemy to zostajemy tutaj na środku.
Jeżeli sobie zrobimy tutaj, inspektor to zauważy cały ten header.
On ma jaką maksymalną szerokość.
Jeżeli ekran będzie większy to po prostu
pozostają tutaj użyte marginesy po prawej i po lewej stronie.
Jeżeli chodzi jeszcze o padding i żeby to wszystko lepiej wyglądało to najpierw
zróbmy sobie items center, żeby wszystkie itemy były na środku i padding.
Jeżeli chodzi o wygląd naszej nawigacji to dobrze byłoby tutaj zrobić jakieś logo
i zmienić ten napis home na nazwę naszego startupu czyli Pocket Cap.
Niech to będzie też napisane h1 kom.
Jako że jest to główna informacja na tej stronie, zrób sobie Pocket cap.
I tutaj klasyczny niech to będzie font bold.
Tekst XL.
Napiszemy.
Jest to nazwa naszego startupu jeżeli chodzi o obrazek logo.
Przygotowałem dwa obrazki, które przydadzą
nam się z Hiro Mock naszej aplikacji, który pokażemy na środku tutaj.
Jeżeli chodzi o logo to mamy tutaj logo
PNG, czyli możemy sobie teraz to logo zaimportować.
Import logo From tutaj images i logo PNG i
to wykorzystamy tutaj w komponencie Image, który też dostajemy od Next.
Czy jest I Image Component Images Next potrzebuje serce.
Na początku importujemy sobie ten komponent i już w tym momencie.
Serce zrobimy tutaj logo, zapiszemy to sobie.
Jeszcze dostajemy informację, że
potrzebujemy alt i missing, czyli zrobimy alt jeszcze związane z accessibility.
I oczywiście bardzo fajna praktyka, żeby
nie zapominać o podpisywaniu swoich obrazków.
Pocket Cap Logo.
I myślę, że jeszcze możemy nadać wysokość, która będzie równa 34.
Zapiszemy.
Mamy już nasze logo, natomiast ustawienie tych dwóch rzeczy nie jest odpowiednie,
dlatego przejdźmy tutaj do naszego komponentu Link i Class Name.
Zrobimy sobie Flex i dalej zrobimy Items Center.
I GAP. Pomiędzy tymi dwoma elementami ustawimy
sobie na najmniejszy możliwy seks, czyli 2.
Już mamy fajnie logo, które jest linkiem do naszej strony głównej.
Przejdziemy na blog bloki, przejdziemy
tutaj, klikniemy na logo, mamy przejście do strony głównej.
Jeżeli chodzi o całą tą nawigację to też przydałoby się tutaj coś z tym zrobić.
Generalnie rzecz biorąc
jeżeli chodzi o ten blog to to będzie należało do nawigacji całej.
To tutaj możemy nazwać blogiem.
Czyli w eterze będziemy mieli jeszcze na i do środka.
Do tego możemy sobie wrzucić teraz nasz link.
Zapiszesz to sobie teraz tutaj.
Wszyscy ludzie żyjemy sobie na W.
Chcemy, żeby zajął całą szerokość tej,
która jest jeszcze dostępna w naszym header.
Dlatego zróbmy sobie class name I tutaj tak na chwilę
mamy całą szerokość jeżeli chodzi o ustawienie tego elementu tutaj.
No to możemy sobie zrobić jeżeli chodzi.
Potem możemy mieć więcej elementów tutaj jeżeli chodzi o Word zrobimy sobie listę.
I pierwszym elementem w tej liście niech będzie nasze nasz odnośnik do bloga.
I tutaj jeżeli chodzi o naszą listę musimy sobie zrobić class tam oczywiście.
Wyświetlanie na flex ustawimy items na center.
Ustawimy sobie czas sci fi center, żeby to wszystko też ustawiło się na
środku i pomiędzy elementami ustawimy na 4.
W przyszłości, kiedy ustawili byśmy sobie więcej elementów, na przykład kontakt.
Już nie zwracając uwagi na to, że tu mamy
czerwień, to będą one odpowiednio od siebie odsunięte.
Natomiast na chwilę obecną zostawimy sobie tylko i wyłącznie ten blog.
I tutaj na końcu, po tej całej nawigacji
przydałoby się mieć komponent, w którym mielibyśmy dwa guziki sign signal.
I teraz może zajmiemy się właśnie tym komponentem.