1. diel - E-shop v ASP.NET - Základ - Úvod
Vítam všetkých stredne pokročilých a pokročilých programátorov pri kurze E-shop v ASP.NET - Základ. V tomto on-line kurze vytvoríme funkčné webové stránky pre e-shop s využitím nasledujúcich technológií:
- Entity Framework Core - ORM s metodikou Code First,
- Repository - návrhový vzor pre prácu s dátami,
- ASP.NET Identity - framework pre správu užívateľov a rolí, autentizáciu a autorizáciu,
- Extension metódy - ukážeme si príklady, ako rozšíriť funkcionalitu existujúcich tried,
- Generické triedy - vedia ušetriť veľa písaní,
- JavaScript - trocha kódu bude aj na strane klienta,
- AJAX a mnoho ďalších...
Po dokončení tohto kurzu tak budete mať vytvorený solídny základ plnohodnotného e-shopu. V nadväzujúcich kurzoch môžete na tomto základe stavať a stránky si doplniť o spracovanie objednávok a pokročilejšiu administráciu.
Kurz vás dokonale pripraví na zamestnanie v C# .NET, pretože väčšina pracovných pozícií vyžaduje okrem samotného C# tiež dobrú znalosť webového frameworku ASP.NET Core. Samozrejme môžete znalosti využiť aj do svojho podnikania.
Základné požiadavky na e-shop
Keďže obchod bude nakoniec skutočne reálne použiteľný, zamyslime sa aspoň nad základnými požiadavkami:- Správa užívateľov a rolí - Tak ako vo väčšine webových aplikácií aj tu je potrebné rozlišovať bežných návštevníkov e-shopu od administrátorov, ktorí majú dostupných viac funkcionalít. Navyše ešte musíme umožniť nákup aj neregistrovaným užívateľom (užívateľom bez prihlasovacích údajov).
- Správa produktov a kategórií - Prehľadne zobraziť produkty (vrátane ich obrázkov) s možnosťou vkladania a editácie. Zaraďovať produkty do kategórií. Vyhľadávať, filtrovať a radiť produkty vo výpise. Umožniť používateľom napísať hodnotenie zakúpeného produktu.
- Systém objednávok - Viesť používateľa nákupným procesom od vloženia tovaru do nákupného košíka cez zadanie fakturačných údajov a výber spôsobu dopravy až po dokončenie objednávky vrátane odoslania potvrdzovacieho emailu. Na túto požiadavku sa zameriame predovšetkým v nadväzujúcom kurze.
- Historizácia záznamov - Zaistiť integritu a platnosť dát. Žiadne vykonané úpravy nesmú ovplyvniť už vykonané transakcie v e-shope.
- Responzívny webdesign - Prehľadne zobrazovať stránky aj na menších displejoch.
Požadovaný vzhľad aplikácie
Požadovaný vzhľad si priblížime na nasledujúcich obrázkoch:Upozornenie - Vývoj reálneho firemného projektu v praxi
A je to tu! V týchto unikátnych kurzoch budeš pracovať na reálnom firemnom projekte a po jeho absolvovaní sa staneš pánom programátorom! Vďaka tomu sú samozrejme kurzy aj oveľa náročnejšie ako všetko, čo si doteraz stretol. Výukové kurzy sú vo väčšine prípadov umelo urobené tak, aby si pochopil nejakú úzku problematiku a nemáli ťa ďalšími témami. Zo začiatku to je tak aj efektívne. V týchto kurzoch už ale nevytvoríš aplikácia alá „TODO“ alebo „evidencia knižiek, čo mám doma“, ale plnohodnotný komerčný softvér, za ktorého tvorbu firmy reálne platia šesťmiestne čiastky svojim zamestnancom. Na projekt sa tiež vzťahuje licencia Premium no-reselling, takže ho nie je možné zverejňovať alebo prepredávať.Čo je inak?
Počítaj s tým, že už nie úplne všetko ti na prvýkrát pôjde. Cieľom kurzov je pozrieť sa, ako sa programuje vo firmách, a pochytiť z toho čo najviac. Cieľom teda výnimočne nie je pochopiť všetko a už vôbec nie to napísať, spustiť a čakať, že všetko bude prvýkrát fungovať. Lekcií je naozaj veľa, budeš robiť preklepy, budeš mať projekt v inom stave ako je v kurze, niečo inak pochopíš a pod. Na zdolanie kurzu je našťastie jednoduchý postup:- Skontroluj si minimálne požiadavky - Najprv sa uisti, že máš za sebou kurzy spomenuté v pasáži "Požiadavky na znalosti". Ak ti nejaký chýba, nemáš bez neho tento kurz šancu prejsť a prvýkrát si ho absolvuj. Pokiaľ minimálne požiadavky spĺňaš, nemusíš sa báť, že to nezvládneš!:)
- Drž sa riešenia, ktoré používa kurz - Nesnaž sa odchyľovať od kurzu použitím vlastného riešenia. Pri komplexnosti kurzu by mohlo byť nekompatibilné s ďalšou budúcou implementáciou a pripravuješ sa tiež o možnosť používať riešenia vzorové. Upraviť projekt si môžeš po dokončení kurzu.
- Používaj záchytné body - Až budeš mať s niečím problém (a to sa pri komplexnosti a dĺžke kurzu stane a neznamená to, že si zlý ty ani kurz), každých niekoľko lekcií je dole na stiahnutie funkčný projekt ako záchytný bod. Ten si stiahni a nájdi si chybu v tom svojom alebo, pokiaľ sa ti to nepodarí, pokračuj s týmto stiahnutým projektom.
- Využívaj pomoc komunity - Ďalej môžeš využiť možnosti komentárov (prečítať si komentáre ostatných na danej lekcii, či už niekto podobný problém neriešil, alebo napísať vlastný). Vo firme ti s vývojom aj niekto zo začiatku pomôže a budeš sa pýtať, nedáš všetko hneď sám. Tu za kolegov suplujú záchytné archívy a diskusie.
Máš jedinečnú šancu skúsiť si, ako to reálne vyzerá, a dovŕšiť svoje junior znalosti na uplatniteľnú úroveň alebo prehĺbiť svoje znalosti až na medior úroveň. Jeden život, jedna šanca, poďme na to!
Požiadavky na znalosti
Tento projekt je na pomedzí junior/medior, čo sa týka levelu znalostí. V rámci levelu znalostí junior sa predpokladá skôr orientácia v tomto väčšom reálnom C# projekte, než že budeš úplne všetkému rozumieť. Pokiaľ by si chcel detailne pochopiť všetok kód, pomôžu ti znalosti v rozsahu medior-level.Junior-level znalosti
V rámci levelu znalostí junior sa predpokladajú znalosti v tomto rozsahu:- Základná konštrukcia jazyka C# .NET
- Objektovo orientované programovanie v C# .NET
- Kolekcia Zoznam, Slovníky a LINQ v C# .NET
- HTML a CSS
- Visual Studio
- Databáza v C# - ADO.NET
- Základy ASP.NET Core MVC
Medior-level znalosti
Ak by ste chceli detailne pochopiť všetok kód, pomôžu vám ešte nasledujúce znalosti, ale počítajte s vyššou časovou náročnosťou:- Debugging
- Základná konštrukcia jazyka JavaScript
- Git napr. pre prepínanie medzi commitmi (verziami e-shopu) pri analýze posledných zmien
- napr. pre prepínanie medzi commitmi (verziami e-shopu) pri analýze posledných zmien
- UML
- Dependency injection a softvérovej architektúry
Začíname
Kurz je písaný pre Visual Studio 2022 a .NET 6.0..NET 6.0 je v predvolenom nastavení dodávaný s inštaláciou
Visual Studio 2022. Možno ho však doinštalovať aj zvlášť stiahnutím
.NET 6.0 SDK
z oficiálnych
stránok.
Pokročilé projekty, ako je tento, sú zložené z mnohých komponentov. Tieto komponenty bývajú pravidelne aktualizované, a to nie vždy bez zmeny funkčnosti alebo spôsobu použitia. Preto neustále aktualizácie všetkého vyžadujú časté a komplexné zmeny kódu av praxi sa tak mnohokrát ani nevykonávajú. Dôrazne odporúčame dodržiavať verzie komponentov, ktoré budú v kurze uvedené. Môže sa totiž stať, že s novšími verziami nebudú v tomto kurze uvedené postupy bez odbornej úpravy fungovať. Kurzy sa snažíme pravidelne aktualizovať a nové verzie k sebe zladiť tak, aby všetko fungovalo.
Vo Visual Studio si vytvoríme nový projekt typu ASP.NET Core Web App (Model-View-Controller):
Nazveme ho napríklad Eshop
. Na ďalšej stránke nastavíme
Framework na .NET 6.0
a Authentication type na
Individual Accounts
:
Vytvorenie potvrdíme tlačidlom Create.
To je pre túto úvodnú lekciu všetko.
V budúcej lekcii, E-shop v ASP.NET - Základ - Príprava a štruktúra riešení , si rozdelíme celé riešenie e-shopu do jednotlivých vrstiev a nainštalujeme niektoré požadované NuGet balíčky.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 44x (1.61 MB)
Aplikácia je vrátane zdrojových kódov