Git Product home page Git Product logo

codingforentrepreneurs / ecommerce Goto Github PK

View Code? Open in Web Editor NEW
1.6K 139.0 878.0 1.14 MB

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.

Home Page: http://www.codingforentrepreneurs.com

Python 41.78% HTML 14.09% CSS 11.98% JavaScript 32.15%
python django django1-11 python3-6 bootstrap4 ecommerce stripe mailchimp ajax custom-queryset

ecommerce's Introduction

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

ecommerce's People

Contributors

codingforentrepreneurs avatar teamcfe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ecommerce's Issues

Cart Not working properly

After logging out and then logging in again creates a new session that's why a new cart object is created every time hence after logging in again user do not get their previous updated cart instead empty.

Trying to get in touch regarding a security issue

Hey there!

I'd like to report a security issue but cannot find contact instructions on your repository.

If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.

Thank you for your consideration, and I look forward to hearing from you!

(cc @huntr-helper)

eCommerce or eCommerce2?

I would like to try your project. But there are two. But I found eCommerce is more updated than eCommerce2. Is that right? Any suggestions? Thanks in advance.

What is the license for eCommerce?

All other codingforentrepreneurs repos have licenses. eCommerce has no license file. What is the license? I'm thinking of taking the course, but may I also use the code for a commercial project? Is the license MIT like all other repos?

TypeError: unsupported operand type(s) for +: 'decimal.Decimal' and 'float'

when i follow you steps
Section: Checkout Process
4 - Calculate the Order Total

i find that:

Request Method: GET
http://127.0.0.1:8000/cart/checkout/
1.11.6
TypeError
unsupported operand type(s) for +: 'decimal.Decimal' and 'float'
/home/eli/django_projects/eCommerce/src/orders/models.py in update_total, line 29
/home/eli/django_projects/eCommerce/venv/bin/python
3.5.2
['/home/eli/django_projects/eCommerce/src', '/home/eli/django_projects/eCommerce/venv/lib/python35.zip', '/home/eli/django_projects/eCommerce/venv/lib/python3.5', '/home/eli/django_projects/eCommerce/venv/lib/python3.5/plat-x86_64-linux-gnu', '/home/eli/django_projects/eCommerce/venv/lib/python3.5/lib-dynload', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/home/eli/django_projects/eCommerce/venv/lib/python3.5/site-packages']
Mon, 26 Feb 2018 15:52:36 +0800

Create a new Virtualenv

Hello,
I have some issue. so please help me.

user@dem0:~$ pip install virtualenv Requirement already satisfied: virtualenv in /usr/lib/python2.7/dist-packages (15.1.0)

What's mean this message ? and how to install virtualenv?

Thank you,

Product not visible ven after follwing each step

hey, i was following your course and despite doing everything as instructed..
class ProductListView(ListView) is giving no response, i am getting blank page while having 10 proucts and list.html is also set in right place. i never even got simple list view of the products and rest every bit of code worked.

Checkout Address View not working

I am unable to add an address in my checkout view. I get the following error:

ValueError at /ajax/add_user_address/
The view accounts.views.add_user_address didn't return an HttpResponse object. It returned None instead.

Help would be much appreciated
Thank you

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.