Django & Stripe Mini eCommerce
Open-source mini eCommerce project that loads the products from JSON files saved in the templates directory (no database required) and uses a decent UI for page styling - Powered by Django.
- 👉 Django & Stripe Presentation - published on YouTube
- 👉 Free Support via Github(issues tracker) andDiscord.
Roadmap & Features
| Status | Item | info | 
|---|---|---|
| ✅ | Django | For backend logic | 
| ✅ | Stripe | Payment processor | 
| ✅ | Soft UI Design | (Free Version) by Creative-Tim | 
| ✅ | JSON | Products definition- see sample | 
| ✅ | Automatic Products Discovery | Source DIR: templates\products | 
| ✅ | Dw Products from Stripe | On going development via Python Stripe Library | 
| ❌ | Docker | - | 
| ❌ | CI/CD | Render Deployment Platform | 
django-ecomm-stripe-products-provisioning.mp4
👉 Step 1 - Download the code from the GH repository (using
GIT)
$ git clone https://github.com/app-generator/ecommerce-django-stripe.git
$ cd ecommerce-django-stripe👉 Step 2 - Create
.envusing providedenv.sample
Add .env file in your projects root directory and add the following credentials
DEBUG=True
SECRET_KEY=
STRIPE_SECRET_KEY=
STRIPE_PUBLISHABLE_KEY=
DOMAIN_URL=
👉 Step 3 - Install dependencies
$ python -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt👉 Step 4 - Migrate DB & Start the APP
$ python manage.py migrate
$ python manage.py runserverVisit http://localhost:8000 in your browser. The app should be up & running.
👉 Step 5 - Access the products and initiate a payment
IMPORTANT: Make sure your Stripe account is running in TEST Mode and Use Test CC provided by Stripe:
- CC Number: 4242 4242 4242 4242
- Any data for the rest of the fields
- Go to products/templates/productsdirectory
- Create a new JSONfile with data:- name: Used in product page & Cards
- price: Used for payment
- currency: Used for payment
- info: used in cards
- short_description: used in product page
- full_description: used in product page
 
- Create Media Files
- Go to products/static/products
- Create a directory using the same name as for JSONfile- Create card.jpg: 500x335px
- Create cover.jpg: 2100x1400px
 
- Create 
 
- Go to 
- Start or refresh the app
- The new product should be listed in the homepage
- Product page is available at address:
- http://127.0.0.1:8000/product/<SLUG>/where the SLUG is the name of the JSON file
 
 
- The new product should be listed in the 
- Go to Create Productroute inProductsdropdown [You must be a superuser]
- On the left side there should be a button Get Products From Stripethis button will pull all the products associated with the stripe account. demo- There will be product list, you can create a product by clicking the Createbutton. demo
 
- There will be product list, you can create a product by clicking the 
- On the right side you will see the local product list and a button Edit.- You can edit a product from here. [ID is not editable] demo
 
Sample product page generated for Air ZOOM Pegasus, assets loaded from here
Homepage eCommerce cards
The project has a simple structure, represented as bellow:
< PROJECT ROOT >
   |
   |-- products/__init__.py
   |-- products/
   |    |-- static/
   |    |    |-- <css, JS, images>         # CSS files, Javascripts files
   |    |
   |    |-- templates/
   |    |    |
   |    |    |-- includes/                 # Page chunks, components
   |    |    |    |-- navigation.html      # Top bar
   |    |    |    |-- sidebar.html         # Left sidebar
   |    |    |    |-- scripts.html         # JS scripts common to all pages
   |    |    |    |-- footer.html          # The common footer
   |    |    |
   |    |    |-- layouts/                  # App Layouts (the master pages)
   |    |    |    |-- base.html            # Used by common pages like index, UI
   |    |    |    |-- base-fullscreen.html # Used by auth pages (login, register)
   |    |    |
   |    |    |-- products/                        # Define your products here
   |    |    |    |-- nike-goalkeeper-match.json  # Sample product
   |
   |-- requirements.txt
   |
   |-- run.py
   |
   |-- ************************************************************************- Django Framework - The official website
- Stripe Dev Tools - official docs
Django & Stripe Mini eCommerce - Free sample provided by AppSeed.

