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!
To co widzisz teraz na ekranie to jest
schemat naszej aplikacji routingu, naszej aplikacji, który będziemy wykorzystywać.
Generalnie rzecz biorąc, wiele ludzi ma problemy z tym, żeby oddzielić sobie tzw.
marketing paździerz od UP.
Bardzo często idzie się to drogą tą drogą, że generalnie musimy tworzyć slash, slash
coś tam coś tam po tym, żeby być w aplikacji.
Natomiast ja pokażę Ci inny sposób, w który możesz sobie użyć grup pingu Twojego
Twojego ruchu do tego, żeby pokazywać odpowiednie rzeczy na Twojej stronie.
Generalnie cała trudność polega na tym, że jeżeli weźmiemy pod uwagę nasze marketing
pages, czyli nasz landing page naszej strony, załóżmy, że będzie nasza strona
miała jakiegoś bloga, naszego startupu, naszej firmy do zarządzania, subskrypcji.
No to slash blog.
Chcemy pokazać header, który jest header em.
Marketingowym też.
Natomiast jeżeli nasz użytkownik się zaloguje to już ten header, który jest
kadrem marketingowym, który odnosi naszego użytkownika do bloga, do informacji o
naszej firmie przestaje mieć jakiekolwiek znaczenie.
No bo lądujemy już na naszym porcie,
który tutaj jeżeli chodzi o DC lądujemy na naszym boardzie.
Tutaj chcemy już pokazać i
informacje, które są użytkownikowi potrzebne jeżeli chodzi o rozwiązanie jego
problemu, czyli w tym przypadku na stronie głównej,
gdzie użytkownik ma przegląd swoich subskrypcji, ile one kosztują?
Kiedy następny payment będzie miał u góry, ma przegląd takich statystyk
i mamy kategorii breakdown też kolejne statystyki.
Nie ma tutaj prawda miejsca na to, żeby zostawić marketingowy header i żeby
użytkownik mógł sobie skakać do bloga do informacji o nas.
Takich spraw to już jest też port aplikacji.
Tu tak naprawdę marketing nie ma nic do rzeczy.
I tutaj jeżeli chodzi o stronę subskrypcji, to tak samo
informacje o subskrypcji czy zostały już zapłacone czy nie.
Koszta subskrypcji, guzik do edytowania,
guzik dodawania nowej subskrypcji no i jakieś podstawowe statystyki.
To wszystko moglibyśmy nazwać, że to tak naprawdę to jest nasza aplikacja.
Tak, Dodatkowo do tego jeszcze dojdzie OUT, czyli sign up i sign in.
Zakładanie konta i logowanie się do naszej aplikacji to też są dwa osobne ekrany.
Natomiast jeżeli chodzi o aplikację mamy dashboard.
To jest sidebar, który tak naprawdę będzie
tym samym sidebar na tych dwóch stronach to będzie komponent, który będziemy mogli
sobie prawdopodobnie ograć jakimś layoutem tutaj.
No a content, który mamy w środku jeżeli
chodzi o dashboard i o nasze subskrypcje jeszcze raz pokażę Ci.
No to content się troszeczkę różni, bo na dashboard mamy tutaj
app coming payment, informację o nadchodzących płatnościach dla danego
użytkownika tyle ile już zapłacił w tym miesiącu, Ile jeszcze zapłaci?
Po prawej stronie mamy informacje na temat kategorii naszego użytkownika.
Które kategorie dla niego są najdroższe, które są najtańsze?
Na Jak przejdziesz sobie na subskrypcje no to już też ta strona jest dynamiczna.
Natomiast to tutaj po lewej stronie zauważ, że ok, design nam się tutaj
zmienia, bo są dwa różne koncepty nawigacji, designu.
Natomiast generalnie rzecz biorąc ten tutaj cały po lewej stronie to jest
taka sama, taki sam komponent, do tego tak naprawdę moglibyśmy.
Prawdopodobnie użyjemy tutaj layoutu, w
którym ta część będzie częścią stabilną, a ta część tutaj będzie częścią dynamiczną,
która będzie prawdopodobnie po stronie serwera, po stronie klienta.
Zobaczymy jak to wszystko ogram.
Wracając do naszego diagramu to tu mamy
naszą aplikację, czyli możemy sobie zgrupować te wszystkie
roboty jeżeli chodzi o dodawanie subskrypcji.
Tutaj jeszcze będziemy mieli popa, który wyskoczy to jest edit panel.
Jeżeli chodzi o dodawanie to też będzie popup pod tym samym adresem.
Po co?
Po naciśnięciu guzika tutaj będziemy mieli popa, który
się pojawi i który pozwoli nam dodawać subskrypcje i edytować subskrypcje.
Jeżeli naciśniemy sobie tutaj ten przycisk też wyskoczy nam tutaj panel, który
pozwoli nam taki formularz, który pozwoli nam edytować sobie te subskrypcje.
Czyli to wszystko moglibyśmy zawrzeć sobie w Grupie Application.
Natomiast mamy też grupę Marketing, która będzie miała zupełnie inny layout, bo
tutaj mamy header związany z typowym już marketingowym handlem.
Jeżeli chodzi o naszą aplikację.
No tutaj mamy blok contact about w naszej
firmie guziki do logowania, guziki do zakładania konta, jakieś hero section,
promo section i footer naszej aplikacji, naszego marketingowego layoutu.
To samo na sekcji Block header article section.
Tu jeszcze powinien być footer na dole to też może być osobna grupa w naszej
aplikacji i nie musimy używać jednego layoutu do wszystkich.
Tak naprawdę jak odpowiednio sobie to wszystko podróżujemy
to możemy mieć jeden layout do marketingu, jeden layout do naszej aplikacji,
który będziemy tutaj używać na kolejnych podstronach.
Także teraz, po takim krótkim wstępie,
krótkim wprowadzeniu obrazkowym, który pozwoli Ci dużo.
Lepiej zrozumieć to, w jaki sposób będziemy ogrywać naszych operacji.
Przejdźmy do naszego
kodu i zacznijmy kodować sobie nasz routing w naszej aplikacji.