Lekce 1 - E-shop v ASP.NET - Základ - Úvod
Vítám všechny středně pokročilé a pokročilé programátory u kurzu E-shop v ASP.NET - Základ. V tomto on-line kurzu vytvoříme funkční webové stránky pro e-shop s využitím následujících technologií:
- Entity Framework Core - ORM s metodikou Code First,
- Repository - návrhový vzor pro práci s daty,
- ASP.NET Identity - framework pro správu uživatelů a rolí, autentizaci a autorizaci,
- Extension metody - ukážeme si příklady, jak rozšířit funkcionalitu stávajících tříd,
- Generické třídy - umí ušetřit spoustu psaní,
- JavaScript - trocha kódu bude i na straně klienta,
- AJAX a mnoho dalších...
Po dokončení tohoto kurzu tak budete mít vytvořený solidní základ plnohodnotného e-shopu. V navazujících kurzech můžete na tomto základu stavět a stránky si doplnit o zpracování objednávek a pokročilejší administraci.
Kurz vás dokonale připraví na zaměstnání v C# .NET, jelikož většina pracovních pozic vyžaduje kromě samotného C# také dobrou znalost webového frameworku ASP.NET Core. Samozřejmě můžete znalosti využít i do svého podnikání.
Základní požadavky na e-shop
Jelikož obchod bude nakonec opravdu reálně použitelný, zamysleme se alespoň nad základními požadavky:
- Správa uživatelů a rolí - Tak jako ve většině webových aplikací i zde je potřeba rozlišovat běžné návštěvníky e-shopu od administrátorů, kteří mají dostupných více funkcionalit. Navíc ještě musíme umožnit nákup i neregistrovaným uživatelům (uživatelům bez přihlašovacích údajů).
- Správa produktů a kategorií - Přehledně zobrazit produkty (včetně jejich obrázků) s možností vkládání a editace. Zařazovat produkty do kategorií. Vyhledávat, filtrovat a řadit produkty ve výpisu. Umožnit uživatelům napsat hodnocení zakoupeného produktu.
- Systém objednávek - Vést uživatele nákupním procesem od vložení zboží do nákupního košíku přes zadání fakturačních údajů a výběr způsobu dopravy až po dokončení objednávky včetně odeslání potvrzovacího emailu. Na tento požadavek se zaměříme především v navazujícím kurzu.
- Historizace záznamů - Zajistit integritu a platnost dat. Žádné provedené úpravy nesmějí ovlivnit již provedené transakce v e-shopu.
- Responzivní webdesign - Přehledně zobrazovat stránky i na menších displejích.
Požadovaný vzhled aplikace
Požadovaný vzhled si přiblížíme na následujících obrázcích:
Upozornění - Vývoj reálného firemního projektu v praxi
A je to tady! V těchto unikátních kurzech budeš pracovat na reálném firemním projektu a po jeho absolvování se staneš panem programátorem! Díky tomu jsou samozřejmě kurzy i mnohem náročnější než vše, co jsi doposud potkal. Výukové kurzy jsou ve většině případů uměle udělané tak, abys pochopil nějakou úzkou problematiku a nemátly tě dalšími tématy. Ze začátku to je tak i efektivní. V těchto kurzech už ale nevytvoříš aplikace alá "TODO" nebo "evidence knížek, co mám doma", ale plnohodnotný komerční software, za jehož tvorbu firmy reálně platí šestimístné částky svým zaměstnancům. Na projekt se také vztahuje licence Premium no-reselling, takže jej není možné zveřejňovat nebo přeprodávat.
Co je jinak?
Počítej s tím, že už ne úplně vše ti napoprvé půjde. Cílem kurzů je podívat se, jak se programuje ve firmách, a pochytit z toho co nejvíce. Cílem tedy výjimečně není pochopit vše a už vůbec ne to napsat, spustit a čekat, že vše bude napoprvé fungovat. Lekcí je opravdu spoustu, budeš dělat překlepy, budeš mít projekt v jiném stavu než je v kurzu, něco jinak pochopíš apod. Na zdolání kurzu je naštěstí jednoduchý postup:
- Zkontroluj si minimální požadavky - Prvně se ujisti, že máš za sebou kurzy zmíněné v pasáži "Požadavky na znalosti". Jestli ti nějaký chybí, nemáš bez něj tento kurz šanci projít a prvně si jej absolvuj. Pokud minimální požadavky splňuješ, nemusíš se bát, že to nezvládneš!
- Drž se řešení, která používá kurz - Nesnaž se odchylovat od kurzu použitím vlastního řešení. Při komplexnosti kurzu by mohlo být nekompatibilní s další budoucí implementací a připravuješ se také o možnost používat řešení vzorová. Upravit projekt si můžeš po dokončení kurzu.
- Používej záchytné body - Až budeš mít s něčím problém (a to se při komplexnosti a délce kurzu stane a neznamená to, že jsi špatný ty ani kurz), každých několik lekcí je dole ke stažení funkční projekt jako záchytný bod. Ten si stáhni a najdi si chybu v tom svém nebo, pokud se ti to nepodaří, pokračuj s tímto staženým projektem.
- Využívej pomoc komunity - Dále můžeš využít možnosti komentářů (přečíst si komentáře ostatních na dané lekci, zda již někdo podobný problém neřešil, nebo napsat vlastní). Ve firmě ti s vývojem také někdo ze začátku pomůže a budeš se ptát, nedáš všechno hned sám. Zde za kolegy suplují záchytné archivy a diskuze.
Máš jedinečnou šanci zkusit si, jak to reálně vypadá, a dovršit své junior znalosti na uplatnitelnou úroveň nebo prohloubit své znalosti až na medior úroveň. Jeden život, jedna šance, pojďme na to!
Požadavky na znalosti
Tento projekt je na pomezí junior/medior, co se týká levelu znalostí. V rámci levelu znalostí junior se předpokládá spíše orientace v tomto větším reálném C# projektu, než že budeš úplně všemu rozumět. Pokud bys chtěl detailně pochopit veškerý kód, pomohou ti znalosti v rozsahu medior-level.
Junior-level znalosti
V rámci levelu znalostí junior se předpokládají znalosti v tomto rozsahu:
- Základní konstrukce jazyka C# .NET,
- Objektově orientované programování v C# .NET,
- Kolekce a LINQ v C# .NET,
- Entity Framework Core v C# .NET,
- HTML a CSS,
- Visual Studio,
- Základy ASP.NET Core MVC.
Medior-level znalosti
Pokud byste chtěli detailně pochopit veškerý kód, pomohou vám ještě následující znalosti, nicméně počítejte s vyšší časovou náročností:
- Základní konstrukce jazyka JavaScript,
- Bootstrap,
- Git – např. pro přepínání mezi commity (verzemi e-shopu) při analýze posledních změn,
- UML,
- Dependency injection a softwarové architektury.
Začínáme
Kurz je psán pro Visual Studio 2022 a .NET 6.0.
.NET 6.0 je ve výchozím nastavení dodáván s instalací
Visual Studio 2022. Lze jej však doinstalovat i zvlášť stažením
.NET 6.0 SDK
z oficiálních
stránek.
Pokročilé projekty, jako je tento, jsou složené z mnoha komponent. Tyto komponenty bývají pravidelně aktualizovány, a to ne vždy bez změny funkčnosti nebo způsobu použití. Proto neustálé aktualizace všeho vyžadují časté a komplexní změny kódu a v praxi se tak mnohdy ani neprovádějí. Důrazně doporučujeme dodržovat verze komponent, které budou v kurzu uvedeny. Může se totiž stát, že s novějšími verzemi nebudou v tomto kurzu uvedené postupy bez odborné úpravy fungovat. Kurzy se snažíme pravidelně aktualizovat a nové verze k sobě sladit tak, aby vše fungovalo.
Ve Visual Studio si vytvoříme nový projekt typu ASP.NET Core Web App (Model-View-Controller):
Nazveme jej třeba Eshop
. Na další stránce nastavíme
Framework na .NET 6.0
a Authentication type na
Individual Accounts
:
Vytvoření potvrdíme tlačítkem Create.
To je pro tuto úvodní lekci vše.
V příští lekci, E-shop v ASP.NET - Základ - Příprava a struktura řešení, si rozdělíme celé řešení e-shopu do jednotlivých vrstev a nainstalujeme některé požadované NuGet balíčky.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 44x (1.61 MB)
Aplikace je včetně zdrojových kódů