• Stars
    star
    149
  • Rank 247,488 (Top 5 %)
  • Language
    C#
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ecommerce App using .Net Core 3.1 and Angular 9

.NET Core

Ecommerce App using ASP.NET Core and Angular

Hi Friends,

During this lock-down period; I spent some time writing one full stack project using ASP.NET Core and Angular 9 with other best practices as explained below. I hope you like it. Demo Link:- https://sports-center.azurewebsites.net/ Git Link:- https://github.com/rahulsahay19/eCommerce-App

Introduction

In this section, you will learn how to build full fledged Ecommerce app using asp.net core and angular 9. Below are the key takeaways from this project. Anyone who wants to learn and write professional enterpise projects can refer this project. This project not only illustrates how to implement all layers to the point rather it adheres to best practices as followed by industry.

Here, you will learn variety of technologies like

  • Angular Lazy loading
  • Angular Routing
  • Angular Reactive Forms
  • Angular Creating a MultiStep form wizard
  • Payment gateway integration
  • Angular Re-usable Reactive form components
  • Angular validation
  • Async Validation
  • .Net Core
  • Angular
  • C# Generics
  • Repository Pattern
  • Unit of Work Pattern
  • Specification Pattern
  • Caching

I have shipped two branches in Github. Master branch is meant for development cut and production is for finished product. While going through the code, you will see how to implement best practices using tons of client/server techniques. Here, you will see

  • How to use specification pattern in conjunction with Repository and Unit of Work pattern
  • How to use multiple DbContext to separate business logic with Identities
  • How to use JWTs token using ASP.NET Identity
  • How to load lazy loaded routes.
  • How to use Automapper
  • How to build a cool theme from bootstrap
  • How to make use of Reactive Forms
  • How to create interceptors
  • How to implement Paging, Sorting, Searching and Filtering
  • How to implement caching both at client and server level
  • How to use Azure Redis Cache
  • How to integrate payment gateway using Stripe
  • How to create reusable reactive forms
  • How to make use of Input and Output Binding
  • How to make use various observables
  • How to make use of Generics
  • How to create custom middlewares
  • How to create custom application service extensions
  • How to persist data at service level
  • How to make API error handling more consistent and generic
  • How to seprate multi layer .net project with its responsibility
  • How to create multi step form to complete the order
  • How to make use of angular material component with bootstrap
  • Accepting payments via Stripe using the new EU standards for 3D secure
  • Publishing the app on Azure
  • And many more things

How Project is structured

Below, I have Pasted the high level glimpse project structure.

14th

APIs Structure goes like

16th

Here, you will get Custom middleware implementation, extension methods, DTOs, Custom Error Handling and few Helper methods as well.

Angular Project looks like

17th

Here is the detailed feature-wise detailing of angular project.

18th

Then, we have Core implementation of project. This holds design pattern implementation like show below.

19th

Similarly, I have Infrastructure project which holds all repository, interface implementation. This also holds the seed project and data context as well.

20th

Warning and Disclaimer

Every effort applied to make this project complete and accurate to the topic, but no warranty is implied. Any implementation in this project are MY OWN and also borrowed from best practices segment. ALL content presented AS-IS, for learning purposes only. Author will not be liable for any loss or damages arising from the information presented in this project. This also involves stripe implementation. Just use test card as explained in readme not actual card. Incase, if any amount get deducted from actual card, author won't be responsible for any loss or damage.

Client

This project was generated with Angular CLI version 9.0.1. You can cd into client folder and do npm i to install the packages then ng serve.

Development server

This project is built using asp.net core 3.1. you can cd into API directory and say dotnet restore and then dotnet watch run.

Server Side Technologies

  • .Net Core
  • Generic Repository Patterns
  • Unit of Work Pattern
  • Specification Pattern
  • Azure Redis Cache
  • Sqlite during devlopment
  • Mysql in Production
  • Swagger
  • Stripe Implementation

Client Side Technologies

  • Angular 9
  • Bootstrap 4
  • ngx-bootstrap
  • Font Awesome
  • Lazy Loading
  • Caching
  • RXJS
  • Design Components

About the project

This project is divided into branches. Master branch is development cut and production branch is production cut. In order to understand best practices and differences between them try comparing both.

Mobile UX

Currently this project is not mobile friendly as I didn't get time to make it mobile compatible. In case, anyone interested, do submit PR.

PR and Comments

I am open for extension of this project. Incase, if anyone wants to extend any feature, you can submit PR.

Stripe Test Cards

You can also follow docs here https://stripe.com/docs/testing

13th

Glimpse of the working solution

Demo Link:- https://sports-center.azurewebsites.net/

1st

2nd

3rd

4th

5th

6th

7th

8th

9th

10th

11th

12th

More Repositories

1

MovieReview-Angular-Prod

This Single Page App created using bunch of technologies. I have used ASP.NET MVC 5 as a base framework. With this I have used Web API, Entity Framework Code First Approach, Unit Of Work pattern, Repository Pattern and design techniques like Single Repository Principle, Factory pattern.... Apart from this I have used Angular framework to write the client side of the application. I have also used libraries like toastr, angular.mock, jasmine and projects like chutzpah to setup my client side testing framework and many more out of the box things.
JavaScript
15
star
2

MovieReviewStarterKit

Movie-Review-Starter-Kit
C#
11
star
3

MovieReviewSPA-NG4

MovieReviewSPA-NG4
C#
8
star
4

eShopping

Clean Architecture Microservices example of .Net Core
SCSS
7
star
5

generator-aspnetcore-angular-2

generator-aspnetcore-angular-2
C#
6
star
6

sample-angular-crud-app

This is a sample angular application with CRUD and bootstrap
TypeScript
6
star
7

azconf-clean-architecture

Getting started with Clean Architecture
C#
5
star
8

generator-angular-material-crud

Yeoman Generator sample for angular material CRUD Application
TypeScript
5
star
9

MovieLib-WCF

Pragmatic WCF
C#
4
star
10

ngMaterialCrud

This is a sample angular material app with CRUD operation
TypeScript
3
star
11

docker-demo-udemy

Movies API app with sql server linux container example
C#
3
star
12

BookMyEvent

Microservices App using best practices
C#
3
star
13

Multiple-SPA

Multiple-SPA
TypeScript
3
star
14

clean-architecture

Clean Architecture Demo
C#
3
star
15

GettingStartedWithAngularJS

Initial Commit
JavaScript
2
star
16

restaurant-microservice

Clean architecture implementation using Spring Boot Microservices
Java
2
star
17

eShop

Clean architecture demo
C#
2
star
18

Dynamic-Import-Angular

Dynamically importing modules at Runtime
TypeScript
2
star
19

docker-course

Collection of demos for docker course
TypeScript
2
star
20

API-Gateway-Envoy

Microservices project demo using Envoy API Gateway and Docker
C#
2
star
21

ExpenseReview-API

ExpenseReview-API
C#
1
star
22

MVCLifeCycle

MVCLifeCycle
C#
1
star
23

Movie-Review-Angular-Skeleton

This is the skeleton project for building Angular JS Movie Review from scratch.
JavaScript
1
star
24

aspnet-devops

Aspnet Devops example using CI/CD, Docker , Azure and Kubernetes
C#
1
star
25

DatingApp

Dating App built with asp.net core and angular
C#
1
star
26

angular-course

Deep Dive angular course
TypeScript
1
star
27

ecommerce

Spring boot services demo
Java
1
star
28

ng-elements

Angular elements demo
TypeScript
1
star
29

asp-net-core-snippets

asp-net-core-snippets
1
star
30

MovieReviewSPASkeleton

MovieReviewSPASkeleton
1
star
31

ocelot-gateway

Ocelot Gateway Example
C#
1
star
32

Custom-MVCHTMLHelper

Custom-MVCHTMLHelper
C#
1
star
33

MovieReview-Angular

This Single Page App created using bunch of technologies. I have used ASP.NET MVC 5 as a base framework. With this I have used Web API, Entity Framework Code First Approach, Unit Of Work pattern, Repository Pattern and design techniques like Single Repository Principle, Factory pattern.... Apart from this I have used Angular framework to write the client side of the application and many out of the box things...
1
star