Skip to content

scottfalbo/inter-galactic-ecomm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to InterGalactic-Ecomm!

Authors:

Scott Falbo | Matthew Petersen

version 1.0.1


Overview:

  • no longer deployed

We are in the process of creating an E-commerce website, selling Rick and Morty memorabilia. Our store is currently comprised of Products, ProductCategories, and Categories. Products are tied to Categories by ProductCategories, which is a join table. This means that you can click on a category, and see all the products that belong to it!

Users are able to register and login with a simple username and password. If a user is logged in as an Admin, the user is able to perform CRUD operations on the Products and Categories. This is enforced by a Policy to ensure that guests aren't tampering with our website.

Unregistered users can browse categories and products. A user must be registered and logged in in order to add products to their cart and checkout.

Getting Started

  • git clone https://scottfalboart@dev.azure.com/scottfalboart/InterGalactic-Ecomm/_git/InterGalactic-Ecomm
  • Open the project in Visual Studio or compile it from the command line.
  • You can successfully register an account via the register link on the home page. Once registered you will be redirected to login.
  • Once logged in you may add and remove products from your cart and checkout.
  • If you are logged in as admin you have access to the admin dashboard with full crud actions on categories and products.

Example

Registration and Login


Architecture

The admin dashboard is an ASP.Net Core App built in an MVC framework, that utilizes Microsoft Framework Identity to register and authenticate users.

The user side is built with Razer Pages and utilizes Identity for user registration and authorization.

Product and Category data is stored in a SQL database using NewtonSoftJson to parse the json.

Confirmation emails are generated by SendGrid and payments are processed through Authorize.net.


ERD

ERD

Change Log:

  • 02/15/2021 - Scaffolded out files, started working on jwt and user login. Seeded products and categories to db.
  • 02/16/2021 - Brought in Identity dependencies.
  • Created user roles and policies. Added permissions to routes.
  • Made forms for registering a user, and then subsequently logging in as that user.
  • 02/18/2021 - Added blobs so users can add/update images to products. Fixed all CRUD routes. Products can now be added to categories.
  • 02/19/2021 - Deployed web app, added summary comments, fixed CRUD operations so only an Admin can view the forms.
  • 02/22/2021 - Added razor pages for user interaction. All routes operational. Admin routes are all locked down.
  • 02/23/2021 -
    • Added Cart and CartProductjoin table models.
    • Created ShoppingCart view.
    • Added crud to put products into the shopping cart
  • 02/24/2021 -
    • Added Order model
    • Implemented components for the cart which tracks item count and login/logout nav.
    • When order now button in the cart is clicked a new order is created and stored in the DB.
    • Added some basic style here and there.
  • 02/25/2021 - Emails are sent to the user, admin and warehouse after purchase. The users cart is also emptied after purchase.
    • 03/03/2021 - Fixed a migration issue that was preventing azure deployment.

Attribution

  • As always thank you to John Cokos, Bade Habib, and Phil Werner for the instruction and assists.