Skip to content

ystvan/MockWebShop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brief Description

This repository contains the following assignment for:
ErhvervsAkademi Sjælland: ASP.NET Core MVC
lecturer and supervisor: Zuhair Haroon Khan (Adjunkt / Assistant Professor)

Requirements passed as per below:

  • Two factor Authentication via Twillio*


  • External Authentication Factor via Facebook, Twitter, Microsoft, Google*


  • Email address validation upon new user registration and password resets*


  • Auth-Auth: ASP.NET Core MVC: Authentication and Role Based Authorisation with Identity
  • ASP.NET Core WebAPI with Entity Framework Core, full CRUD operations
  • Self-Signed SSL certificate and HTTPS
  • Live help chat with a fake customer service chatbot (to be implemented...)
  • Basic Bootstrap from Bootswatch and Font Awesome

Ok, now tell me What does it do?

The happy-path:

  • New users can register with their email address or with one of them popular social media accounts
  • If it's just a plain email address, they need to validate their account prior to login with the confirmation email
  • During registration they can select the required user roles and permissions to the app
  • Optional Two Factor Authentication (2FA) set up with mobile phone number via SMS
  • A "Customer" users can browse the webshop, add products to the shopping cart and proceed to checkout
  • During the checkout process they fill out a delivery form and confirm their order
  • The "Employee" users can check the orders and "ship" the products also "Create, Read, Update, Delete" the Products database
  • The "Admin" users can do all the above, in addition they have full CRUD controll over the Users and Permissions database

Would be nice to have, later on might be implemented:

  • Connection between user accounts and order history
  • Marketing email to users by price changes (discounts)
  • Confirmation email or SMS if the order is shipped
  • Many more to get closer to a real e-commerce site...
  • Connect the API to make the client-app more light-weight
  • Change SQL to MongoDB

How to Run & Deploy

  • You need to restore the .NET Core packages which stored in the .csproj file

    Open a terminal or relevant command line tool from the project folder, which consists the file above

      dotnet restore
      npm install
      bower install
      dotnet ef database update
      dotnet run
      
  • Preferred IDE: Visual Studio 2017

  • Since version 58 and higher does not support self signed certificates, I strongly recommend to use browser for this project

*FYI: you need to use your own keys

btw, GitHub now supports emojis...

:octocat: 👽 🙈 🙉 🙊 :rage2: 👳‍♂️