Giter VIP home page Giter VIP logo

djangoecommerce's Introduction

Pikinhop logo

eCommerce Store

Raphael Sani
Cohort 4
October 5, 2020

Pikinhop erd

Overview

The diagram above represents PikinHop children ecommerce model for cohort 4 Django project.

We will be working within our apps model.py located in the store app. Here we created 5 models, not including the build in Django User model.

1. User – Built in django is this Django User model. An instance of this model will be created for each customer that registers with our website. This model will give us the ability to later use Django default authentication system without having to manually set this up ourselves.

2. Customer – Along with the user model each customer will contain a Customer model that holds a one to one relationship to each user (OneToOneField).

3. Product – The Product model represents the products we have in store.

4. Order – Order represents a transaction that is placed or pending. The model will hold information such as the transaction_ID, date_completed and order_status.

5. OrderItem – An order item is one item with an order. For example, a shopping cart may consist of many items but it’s all part of one order.Therefore, the OrderItem will be a child of the PRODUCT and the ORDER model.

6. ShippingAddress – Not every order will need shipping information. For orders containing physical products that need to be shipped, we will need to create an instance of the shipping model to know where to send the order. Shipping will simply be a child of the order model when necessary.

Workflow

My website workflow is as below:

  1. user sign up and redirect to login screen once registration successful.
  2. user login and now he/she sees a form, where he/she needs to fill in mandatory fields
  3. use information is saved and then user go to store click on "Add to cart" button(in the store item display) to add chosen item to cart, or click on "arrow up or down" in cart to increase or reduce the quantity of items in cart, continue button will redirect to the checkout page automatically for order processing.

What's working:

  • Registration page
  • Login page
  • User successfully able to fill in the extra information
  • Redirect to the logged in user's profile page.
  • Data getting saved in DB.
  • User enters store
  • Process and check out order

What's not working:

The checkout page that is getting generated for shipping information that leads to payment processing is reloading and not getting populated or moving to the next page. Pending.
I have examined the code without any trace of where it might have gone wrong.

Register Use-case (template)

  • Use case name: Register
  • Description: All users of the system must register for account
  • Primary actor: Customer
  • Secondary actor: N/A
  • Trigger: New user would like to create account
  • Precondition: User does not have existing account
  • Main-flow step1: use case starts when user clicks 'Register' step2: system displays the register page and allows to enter details step3: user enters registration details a. first name b. surname c. email address d. telephone number e. password f. confirm password

step4: system valids registration details step5: use case ends when all registration details have been saved

  • Alternate flow: Register with fb account

    1. this flow starts when user selects Register with fb
    2. system allows user enter fb log in details
    3. system validates user details from fb
    4. system retrievs user details from fb
    5. continue from step 5 above
  • Exception: where can something go wrong -in step four of main flow, if registration details not successfully validated, display suitable message and allow usser to retry -in step 5 of main flow if system is unable to save registration details, display suitable message and log error

  • Post condition: the state it should be in Registration details saved and new customer account created

Use Case name: Log in

  • Description: all users are required to authenticate to access sensitive information
  • Primary Actor(s): customer, admin
  • Secondary Actor: Actor
  • Trigger: user request to access sensitive information
  • Precondition: user has a valid registered account
  • Main Flow: Use case starts when user clicks login System displays login page and allow users to provide login details Email address Password User enters required login details System validates and authenticates user details System welcomes user and grants access to restricted information Use case ends when user has been granted access
  • Alternate Flow: This flow starts when user selects the ‘login with Facebook’ System displays Facebook login page Continues from step 3 above
  • Exception Flow: In step 4 above, if system is unable to authenticate user details Allow a minimum of 3 attempts After 3 attempts, extend change password use case
  • Post Condition: user is granted access to access to the system and login details are unchanged

Pkinhop use case

Pkinhop erd

Pkinhop erd

djangoecommerce's People

Contributors

sanraph avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.