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 & Cardsprice: Used for paymentcurrency: Used for paymentinfo: used in cardsshort_description: used in product pagefull_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.

