Skip to content
This repository has been archived by the owner on Jan 22, 2022. It is now read-only.
/ eWebStoreOnWeb Public archive

Web application development with Asp.Net Core 3.1 MVC & EF.Core, scaffolding identity with roles, plain unit tests, multi-layered application architecture, repository pattern.

Notifications You must be signed in to change notification settings

Romazes/eWebStoreOnWeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 

Repository files navigation

WebStore2

Top Gun Lab - .NET edition - Final Project https://github.com/v4dev/WebStore2/

Team:

  1. Roman Yavnikov (https://github.com/Romazes/)
  2. Yana Kovalenko (https://github.com/YanaKovalenko/ https://github.com/Alexsaio/)
  3. Vladimir Tonkopryad (https://github.com/v4dev/)

Online Tea Shop final project features Asp.NET Core MVC 3.1 implementation and the following functionality:

  1. Multi-layered solution setup
    1.1. Create multi-layered project structure
    1.1.1. UI project
    1.1.2. Infrastructure project
    1.1.3. Core project
    1.2. Configure project references
    1.3. Nuget package dependencies are resolved via packages.config

  2. Dependency Injection - Repository Pattern Implementation
    2.1. Introduced models
    2.2. Introduced repository interfaces
    2.3. Introduced mocks
    2.4. Configured Startup
    2.5. Configured sample Controller
    2.6. Configured sample View and ViewModel

  3. Configured Entity Framework Core
    3.1. Added EF Core related Nuget packages
    3.1.1. Microsoft.EntityFrameworkCore.SqlServer
    3.1.2. Microsoft.EntityFrameworkCore.Tools
    3.2. Added DBContext file and updated its content
    3.3. Setup the connection string
    3.4. Updated Startup with the database connection string
    3.5. Introduced repositories and registered them in Startup
    3.6. Performed database initialization and migration
    3.7. Configured and performd the DB seeding

  4. Front-end setup
    4.1. Configured layout, viewstart and viewimports
    4.2. Configured bootstrap and jquery support
    4.3. Partial views
    4.4. Routing
    4.5. Navigation menu
    4.6. Created home page
    4.7. Enabled ViewComponents
    4.8. Added custom tag helpers

  5. Added additional web application functionality
    5.1. Details form

  6. Added Shopping Cart functionality
    6.1. Entity
    6.2. Repository
    6.3. Controller
    6.4. ViewModel
    6.5. View
    6.6. Shopping Cart item removal

  7. Added Order form functionality
    7.1. Entity
    7.2. Repository
    7.3. Controller
    7.4. ViewModel
    7.5. View
    7.6. Model binding
    7.7. Form validation
    7.8. Product search

  8. Enabled Security - Part 1: User Authentication and User Administration
    8.1. Utilized ASP.NET Core identity API
    8.2. Added authentication functionality
    8.3. Enforced authentication request for user to place an order
    8.4. Enabled User Management

Additional features added:

  1. Unit tests
    9.1. Added Core section related unit tests
    9.2. Added UI Controllers section related unit tests

  2. Security
    10.1. Default Identity is extended by adding ApplicationUser with extra fields
    10.2. Added role-based authorization
    10.3. Added product, product category, user and user role management functionality
    10.4. Added claims-based authorization
    10.5. Added age-based limitation on the order checkout which is based on the claims
    10.6. Use case information
    Password for all users is Password123!
    10.6.1. admin00@contoso.com - Can do anything
    10.6.2.1. managerJunior00@contoso.com - Junior admin can only fully manage products and ONLY edit product categories
    10.6.2.2. managerSenior00@contoso.com - Junior admin can only fully manage products and product categories
    10.6.3.1. userAdult00@contoso.com - Can fill the shopping cart and make an order
    10.6.3.2. userChild00@contoso.com - Can ONLY fill the shopping cart, but CANNOT make an order

About

Web application development with Asp.Net Core 3.1 MVC & EF.Core, scaffolding identity with roles, plain unit tests, multi-layered application architecture, repository pattern.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published