Skip to content

Aplikacja webowa przedstawia e-commerce sklep internetowy, napisany za pomocą kombo .NET 7 / Angular 15. Projekt zawiera listę produktów, zarządzanie koszykiem, procesowanie zamówienia po krokach, autoryzacja, opłata zamówień za pomocą podłączonego serwisu Stripe i wiele innych rzeczy.

Notifications You must be signed in to change notification settings

Kowjako/E-commerce-Shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎨 KOWJAKO-COMMERCE

Aplikacja webowa przedstawiająca e-commerce sklep. W danym projekcie została zaimplementowana podstawowa rzecz każdego e-commerce sklepu: przykładowo lista produktów, zamówienia, system płatności, koszyk itd. Projekt napisany przy użyciu kombo .NET 7 / Angular 15.

Użyte narzędzia

  • Angular 15, HTML, SCSS, RxJS, Bootstrap, Typescript - frontend
  • .NET 7, ASP.NET Core Web API, ASP.NET Core Identity, Entity Framework Core, SQLite, Docker, Redis - backend

Do procesowania płatności został użyty serwis Stripe

Architektura aplikacji

Architecture

Zaimplementowane rzeczy

  • Autentykacja na podstawie JWT-tokenów
  • Autoryzacja w powiązaniu z ASP.NET Core Identity (osobny DbContext)
  • Tworzenie koszyków - są przechowywane w cache'u Redis
  • Sortowanie, filtracja, paginacja produktów.
  • Cache po stronie API - znów użyty Redis, kluczem cach'u jest queryString zapytania do pobrania produktów
  • Generyczne repozytorium oraz Specification Pattern.
  • Procesowanie płatności za pomocą serwisu Stripe, użycie stripe-js do implementacji komponentów karty bankowej.
  • Cachowanie po stronie serwisów Angular'a
  • Angular Route Guards do przeciwdziałania przypadkowym akcjom
  • Angular Interceptors do wysłania zapytań z nagłówkiem autentykacji
  • Angular Lazy-loading moduły

I wiele innych :)

Jak zainstalować

1️⃣ Pobrać kod źrodłowy backend + frontend
2️⃣ Uruchomić API (automatycznie zrobi migrację bazy SQLite) oraz uruchomić kontenery mając zainstalowany Docker Desktop. W projekcie jest plik docker-compose. Żeby wykreować strukturę kontenera wystarczy wydać polecenie: docker-compose up -d
Kontener jest potrzebny do hostowania Redis'a oraz przedstawia GUI do podglądania dostępny na porcie: 8081. Również do przyjmowania płatności należy założyć konto na Stripe i podmienić klucze na swoje w appsettings.development.json
3️⃣ Uruchomić stronę kliencką: ng serve, uwaga: w tym projekcie jest uruchamiany na podstawie SSL. W projekcie znajdują się przykładowe certyfikaty, aczkolwiek gdy ktoś ma zamiar użyć swoje to można skorzystać z narzędzia MKCert

Screenshoty

Screenshot_1 Screenshot_4 Screenshot_3 Screenshot_5 Screenshot_9 Screenshot_6 Screenshot_8 Screenshot_7 Screenshot_10 Screenshot_12 Screenshot_11 Screenshot_13

About

Aplikacja webowa przedstawia e-commerce sklep internetowy, napisany za pomocą kombo .NET 7 / Angular 15. Projekt zawiera listę produktów, zarządzanie koszykiem, procesowanie zamówienia po krokach, autoryzacja, opłata zamówień za pomocą podłączonego serwisu Stripe i wiele innych rzeczy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published