Skip to content

We're going to take you step-by-step to build a modern, fully open-source, eCommerce web application using Python, Django, Bootstrap, Javascript, and more.

Notifications You must be signed in to change notification settings

codingforentrepreneurs/eCommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

80e38cb · Nov 15, 2020
Oct 3, 2017
Oct 9, 2017
Nov 15, 2020
Nov 15, 2017
Nov 16, 2017
Dec 10, 2017
Nov 15, 2020
Aug 31, 2017
Oct 3, 2017
Sep 29, 2017
Nov 15, 2020

Repository files navigation

eCommerce

eCommerce Logo

This course will teach you step-by-step to build a eCommerce site from scratch. We'll be using open-source software to create each aspect of a fully functioning eCommerce business.

Full Course is here: https://www.joincfe.com/courses/ecommerce/

Below you'll find the related lecture code to any given section and lesson. Enjoy!

Code

Section - Hello World

Intial Commit

Section - Products Component

1 - Your first app Module

2 - Understanding CRUD

3 - Product Model

4 - Django Admin

5 - List View

6 - Detail View

7 - ImageField & FileField

8 - Understanding Lookups

9 - Custom Model Managers

10 - Featured & Custom QuerySets

11 - SlugField & Signals

12 - Products URLs

Section: Templates

1 Base Template

2 - Include Tag

3 Pass Arguments with Include

4 - Reusable List View Snippets

5 - Reverse for URLs

6 - Navbar

7 - Template Filters

8 - ForLoop Counter & Cycle

Section: Bootstrap

1 - Adding Bootstrap (no code)

2 - Container vs Container-Fluid (no code)

3 - Rows And Columns

4 - Column Sizing

6 - Desinging for Different Browser Sizes with Breakpoints

7 - Spacing with Margin & Padding

8 - Navbar

10 - Integrate to Django

Section: Search Component

1 - A Basic Search View

2 - Display the Query to the User

3 - Creating the Search Form

4 - Better Lookups with Q

5 - Tag Component

6 - Shell Commands for a Brief Intro to Foreign Keys

7 - Search by Related Model

Section: Cart Component

1 - Cart App

2 - Django Sessions

3 - Cart Model

4 - Create A Cart in the View

5 - Cart Model Manager

5 - Cart Model Manager Part 2

7 - M2M Changed Signal to Calculate Cart Total

8 - Cart Update View

9 - Add to Cart Form

10 - Display Cart

11 - Remove Items from the Cart

12 - Cart Icon & FontAwesome

Section: Checkout Process

1 - The Roadmap for the Checkout Process

2 - The Order Component

3 - Generate the Order ID

4 - Calculate the Order Total

5 - Checkout View

6 - Math with Decimals and Floats in Python

7 - Upgrading Auth to Prep for Checkout

8 - Billing Profile Model"

9 - Billing Profile in the Checkout View

10 - Guest Checkout Profile

11 - Associate Billing Profile to Order

12 - Order Manager

13 - Billing Profile Manager

14 - Addresses App

16 - Associate Addresses to Order

17 - Finalize Checkout

18 - Reuse Addresses for Checkout

19 - Checkout Success

Section: Fast Track to Jquery

1 - Getting Started

2 - A Basic Selector

3 - Selectors Part 2

4 - Content Overflow Part 1

5 - Data Types, Iteration and Conditionals

6 - Content Overflow Part 2

7 - Click Events

8 - Handling form data in jQuery

Section: Products & Async

1 - Sync vs Async (no code)

2 - Ajax-ify a Form

3 - Handle Ajax in Django with JsonResponse

4 - Cart Item Count

5 - Refresh Cart Ajax

6 & 7 - Refresh Cart Ajax Part 2 & 3

8 - Finalize Cart Updating with Ajax

8 - Finalize Cart Updating with Ajax

9 - Auto Search

10 - Display Errors with jQuery Confirm

11 - Ajaxify the Contact Form Part 1 & 2

13 - Custom eCommerce JS

14 - Ajax CSRF Security for Django

Add Ons

Custom Django User Model

1 - Before we get started (no code)

2 - Create the Abstract Base User

3 - Create the User Model Manager

4 - Change Auth User Model to our Custom Model (no code)

5 - Reload the Database with Fixtures

6 - Forms & Admin for our Custom User

7 - Add a Required Field to the User Model

8 - Update Login & Register Forms

9 - Login & Register Views

Custom Analytics

1 - Getting Started (No Code)

2 - Craft the Object Viewed Model

3 - Get Client IP Address

4 - A Custom Signal

5 - Object Viewed Mixin

6 - Handle the Object Viewed Signal

7 - Handling and Ending User Sessions

Stripe Integration

1 - Getting Started

2 - Create Stripe Customer

3 - Payment Method View & Stripe JS

4 - Improving Payment Method Form

5 - Improving Payment Method Form Part 2

6 - Reusable Stripe Module

7 - Add Card to Customer with Stripe

8 - Save Card in Django

9 - Charge the Customer

10 - Putting it All Together

11 - Guest Card Checkout

12 - Changing Payment Methods

13 - Improve Card UI - Part 1

14 - Improve Card UI - Part 2

Mailchimp Integration

3 - Setup API Keys

4 - Marketing App

5 - Mailchimp Class Part 1

6 - Mailchimp Class Part 2

7 - Mailchimp Class Part 3

8 - Django & Mailchimp

9 - User Email Marketing Preference View

10 - Mailchimp Webhook Handler

Go Live

1 - Local vs Production Environments (no code)

2 - New Settings Module

3 - Multiple Settings Modules

4 - Prepare for HTTPs

5 - The gitignore File

6 - Requirements File

7 - Setup Git Version Control

8 - Deploy to Heroku

9 - AWS S3 for Static Files

10 - Add Custom Domain & HTTPs on Heroku

11 - Live Environment Variables

12 - Error Views and Templates

13 - Setup Email to Help Solve Server Errors

14 - Using Heroku Locally

Account & Settings

1 - User Account Home

2 - Naming & Dropdown

3 - Account Bootstrap Cards

4 - Link Account Bootstrap Cards

5 - Password Reset and Change

6 - send_email and get_template

7 - Email Activation

8 - Custom QuerySet for Confirmable Activations

9 - Email Activation View

10 - Email Reactivation

11 - Improved Login Form & View

12 - Login Form for Confirmation Emails

13 - Upgrading the Guest Checkout Form

14 - Edit Account Details

15 - User Product History View

16 - Orders & Order Detail

17 - Final Addresses on Order

18 - Addresses List View

19 and 20 - Update & Create Addresses Part 1 & 2

Selling Digital Items

1 - Digital Products & Cart

2 - Shipping-less Checkout

3 - Product Purchases

4 - Handling Products Being Purchased

5 - Display of Refunded Items

6 - Library View

7 - Library View for Products Only

8 - Product File Model

9 - Changing File Field Storage to Protected Location

10 - Download Product File Part 1

11 - Download Product File Part 2

12 - Perform the File Download

13 - Checking Download Permissions

14 - In Library Display Part 1

15 - In Library Display Part 2 with Ajax

16 - AWS S3 File Upload

17 - Fixing the Upload Path

18 - Creating the AWS Download Class

19 - Using the AWS Download Client

20 - A Custom Filename

Graphs and Sales

1 - Setup the View

2 - Add Context for the Order Data

3 - Intuitive Recent Order Total

4 - Aggregate & Annotate

5 - Get Data by Custom QuerySet

6 - Intro to Datetime Module

7 - Filter by Range of Time

8 - Chart-js Intro

9 - Using Ajax to Render Charts

10 - Display True Data

11 - Cleanup

12 - Inline Js to External