Hledáte e-commerce řešení, které si dokážete přizpůsobit podle vašich požadavků? Chcete čistý a srozumitelný kód, se kterým bude radost pracovat? Prozkoumejte s námi možnosti open source projektu NopCommerce. Seriál programování pod NopCommerce vám pomůže překonat první kroky nejistoty a úspěšně zvládnout vývoj pod platformou NopCommerce.
Každý rok se česká e-shop scéna rozrůstá a je čím dál tím náročnější konkurovat technologickým a funkčním požadavkům, které jsou kladeny na e-commerce systémy. V tomto seriálu si postupně představíme open source platformu NopCommerce, která je vhodná jak pro enterprise řešení, tak i pro menší e-shopy. Cílem seriálu je seznámit vás s možnostmi, které tato platforma nabízí, a poskytnout návody a rady programátorům, kteří by si rádi osvojili možnosti vývoje právě pod platformou NopCommerce.
NopCommerce je open source e-commerce řešení, které je původně založené na technologii WebForms v roce 2008. Od roku 2008 prošel systém velkými technologickými změnami. V roce 2011 s verzi 2.00 byla platforma přepsána do technologie ASP.NET MVC a v dnešních dnech probíhá další technologická proměna. Platforma NopCommerce se aktuálně migruje pod ASP.NET Core, která přijde s vydáním verze 4.00. Verze 3.80 přinesla významné vylepšení v oblasti marketingových nástrojů, správy obsahu a optimalizace výkonu. Zároveň přinesla změnu administračního rozhraní z pohledu UI a UX.
V prosinci roku 2016 byla serverem builtwith.com zveřejněna statistika, která ukázala, že systém NopCommerce využívá jako e-commerce produkční prostředí bezmála 30 950 webů.
Komunita NopCommerce
Komunita uživatelů a programátorů NopCommerce je rozsáhlá i v geografickém měřítku a zahrnuje přes 37 zemí. Jazyková lokalizace je dostupná pro více než 30 jazyků, včetně lokalizace do českého jazyka. NopCommerce tým i komunita, která je kolem projektu, je velmi aktivní a ochotná. Komunita poskytuje podporu ve formě diskuzního fóra. Pro enterprise řešení jsou dostupné i jiné formy podpory. Komunita přispívá na NopCommerce market, kde jsou dostupné moduly a rozšíření pro celý systém.
Architektura NopCommerce
Architektura systému NopCommerce byla navržena hlavně s důrazem na lehkou rozšiřitelnost a modularitu systému. Velkou výhodou NopCommerce je přehledný a lehce pochopitelný kód. Osobně to považuji za jednu z největších výhod, protože následná práce s kódem je radostí a ne utrpením, jak už to taky u některých open source řešení bývá zvykem.
NopCommerce platforma je tvořena vícevrstvou architekturou. Jednotlivé oblasti jsou znázorněny na obrázku výše. Během seriálu se budeme zaměřovat na jednotlivé části systému podrobněji. V každé vrstvě si ukážeme důležité části a použité principy. Pro obecnou představu o architektuře celého systému se dnes budeme bavit pouze o základních prvcích.
Pokud se podíváme na systém od spodní části, tak nad persistentním uložištěm v podobě databázového serveru je datová vrstva, která využívá ORM pro přístup k datům. Jako ORM je využitý Entity Framework. Vyšší vrstvy systému přistupují do datové vrstvy pomocí repositářů. Doménové objekty a infrastrukturní prvky jako cache, události systému a ostatní jsou součástí projektu Nop.Core.
Servisní vrstva (projekt Nop.Service) obsahuje aplikační logiku pro všechny služby. Ať se jedná o registraci uživatelů, výpočet slev nebo ukládání článků. Vše potřebné se nachází v této servisní vrstvě. Napříč celým systémem se využívá princip Dependency Injection. Jako IoC container je v NopCommerce použit AutoFac container.
Nad servisní vrstvou jsou dvě důležité oblasti, a to Administrační rozraní (backoffice) a Frontend obchodu (public store). Projekt Nop.Web.Framework je sada rozšíření a uprav pro MVC. Tento projekt sdílí pro administraci a veřejný obchod společné vlastnosti, ať už se jedná o vlastní validátory, bezpečnostní prvky, HtmlHelpery a další. Nop.Web.Framework například upravuje i cesty, kde bude RazerEngine hledat pohledy. Pluginy a rozšíření pro NopCommerce mají vlastní solution folder, kde se nachází jednotlivé projekty.
Po sestavení aplikace jsou pluginy nakopírovány do stejného adresáře, kde leží celá aplikace. Administrační rozhraní a obchod běží v kontextu jedné aplikace.
Instalace NopCommerce
NopCommerce je open source systém, takže jako většinu open source projektů lze i NopCommerce stáhnout z GitHubu. Další možnou cestou je stažení z oficiálních stránek, kde je nabízen i balíček bez zdrojových kódů, který je připraven přímo pro instalaci. Pokud Vás zajímají minimální technické požadavky, tak je lze nalézt zde.
NopCommerce je dostupná pro instalaci i přímo z Azure Marketplace. V případě, že chcete vyvíjet pod platformou NopCommerce, je nutné si stáhnout projekt včetně zdrojových kódů. Pokud chcete spouštět NopCommerce na lokálním počítači postačí Vám mít nainstalovaný VS Community a MS SQL Express.
V případě, že máte verzi se zdrojovým kódem, stačí sestavit aplikaci a spustit ji. Samotná instalační stránka je velmi intuitivní. Důležité je znát pouze přihlašovací údaje do databáze. Doporučuji před instalací namapovat aplikaci do IIS a vytvořit prázdnou databázi. Pokud se chcete seznámit s NopCommerce, velmi doporučuji v instalaci zaškrtnou možnost testovacích dat, abyste viděli všechny možnosti.
Pro vstup do administrační sekce je nutné se přihlásit. Přihlášení probíhá pomocí údajů, které jste vyplnili při instalaci systému. Po přihlášení uvidíte v horní části webu sekci, kde můžete přejít kdykoliv do administrační sekce. Když chcete jít přímo do administrace, tak stačí zadat adresu vas-obchod.cz/admin.
Jestliže vás zajímají marketingové a obchodní možnosti, doporučuji navštívit přímo oficiální stránky systému NopCommerce.
Během seriálu se dotkneme všech důležitých témat, které je nutné znát pro vývoj pod platformou NopCommerce. V případě, že by vás zajímaly konkrétní témata, neváhejte a napište je do komentářů a začleníme je do jednotlivých dílů seriálu.