Welcome to SC StripeShopping’s documentation!

SC StripeShopping is Visual Studio Solution written in ASPT.NET Core MVC 6 that implement a Shopping Cart process and checkout with Stripe Payment Gateway integration.

It use Microsot SQL Server Express as database and EntityFrameworkCore Code First to manage Data and offers a simple and intuitive UI to start building a full eCommerce Website.

SC StripeShopping is an ASP.NET CORE MVC 6 Project that can be used to start building your eCommerce Website. The project implement the Shopping Cart process (Shopping - Checkout - Payment). The Shopping Cart persist on database and attached to the logged in User. Key Features:

Check out the Getting Started section for further information

Note

This project is under active development.

Contents

Getting Started

SC StripeShopping is an ASP.NET CORE MVC 6 Project that can be used to start building your eCommerce Website.

The project implement the Shopping Cart process (Shopping - Checkout - Payment).

The Shopping Cart persist on database and attached to the logged in User.

_images/1-solution.PNG _images/8-home.PNG _images/9-login.PNG

Key Features

  • Well structured & Designed solution.

  • Clean code.

  • EntityFrameworkCore Code First.

  • Seperated Business Patterns.

  • Identity Area for User account management.

  • External Authentication: Google, Micrsoft, Twitter, Facebook.

  • Admin Role to manage Products.

  • Clean Invoice Pdf generation.

  • Sending Invoice by Email.

  • Stripe Gateway Checkout.

  • Session & Persistent Shopping Card tracked by User.

  • Generic Repository Pattern.

  • appsettingsjson Configuration Helper.

  • Serilog Middleware ToFile Implementation.

  • Exception middleware to capture all unhandled Exceptions.

  • Full commented source codes.

  • Jquery based prototype pattern.

  • Jquery Ajax helper.

Environment

To build the Solution you need to have:
  • Visual Studio 2022

  • Microsoft SQL Server Express (2014 or later)

  • Micrsoft .NET 6 SDK

Settings

Before building the solution, make sure to have the correct parameters on the appsettings.json.

  • ConnectionStrings : Default Connection String of the database

  • Stripe : Stripe SecretKey and PublishableKey

  • EmailCred : SMTP Email Credentials

  • SMTP : SMTP Server settings

  • GoogleAuth : Google Authentication ClientId and ClientSecret

  • FacebookAuth : Facebook Authentication ClientId and ClientSecret

  • MicrosoftAuth : Microsoft Authentication ClientId and ClientSecret

  • TwitterAuth : Twitter Authentication ConsumerAPIKey and ConsumerSecret

  • InvoiceSettings : Invoice Settings to use on PDF Invoice

_images/4-appsettings.PNG
width:

600

_images/3-config.PNG
width:

600

Seed Data

  • identitydata.json: This file contains default data to seed to the database for identity memebership.

    • Administrator Role : The website Administrator can manage products (Add/Update/Delete).

    • User Role : The User can buy products and do checkout and payment.

    • Default Administrator: admin@domain.com (password: $Admin123).

    • Default User: paul@domain.com (password: $Paul123).

  • storedata.json: This file contains default products list with their prices to seed to database.

Build & Run

After updating settings and default datat files, you can build and Run the solution.

The Project use EntityFrmaeworkCore Code First, so the database will be created automatically on project Startup.

Catalog

Navigate to Catalog Menu to manage product list.

_images/10-catalog.PNG

If you have the Administrator Role, you can Add/Update/Delete Products.

_images/12-edit-product.PNG

Profile

Navigate to your profile by clicking to your Name and you will be able to update your personnal informations.

_images/13-profile.PNG _images/14-changepassword.PNG

Shopping Cart

Navigate to Home page and choose a product to buy.

After clicking Buy button, you will redirected to the Shopping Cart page.

You can update each Product quantity and then Click Checkout to proceed to checkout.

Checkout

On the checkout page you can update your personnal informations before dpoing payment.

Your updated personnal informations will appear on the generated PDF invoice later.

_images/17-checkout.PNG

Stripe Payment

To proceed to payment click on the button Proceed to payment, you will be redirected to Stripe Payment page.

You can use test card number 4242 4242 4242 4242.

Fill the payment form and then confirm payment.

_images/18-stripe.PNG

Invoice

After payment success, you will be redirected to the Website and you can download PDF Invoice.

_images/19-completed.PNG _images/20-invoice.PNG

Orders

To consult your orders, navigate to your profile and go to the last Tab “My Orders”.

For each order you can download the attached invoice as PDF.

_images/15-orders.PNG