Flask & Stripe Mini eCommerce
Open-source eCommerce Starter 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 Flask & Stripe.
Have questions?
Contact Support (Email & Discord) provided by AppSeed
Free Version | Rocket eCommerce | Custom Development |
---|---|---|
✓ Stack: Flask, Bootstrap |
✅ Stack: Django, TailwindCSS |
Everything in PRO, plus: |
✓ Payments: Stripe | ✅ Payments: Stripe | ✅ 1mo Custom Development |
✓ Minimal Bootstrap Design | ✅ Stripe Products Import | ✅ Team: PM, Developer, Tester |
✓ No Database | ✅ Local Products Customization | ✅ Weekly Sprints |
- | ✅ Categories, TAGS | ✅ Technical SPECS |
- | ✅ Multi-product Checkout | ✅ Documentation |
- | ✅ Discounts Page | ✅ 30 days Delivery Warranty |
- | ✅ Analytics | - |
- | ✅ Transactions Tracking | - |
- | ✅ Zero Configuration | - |
- | ✅ FIGMA Project | - |
- | ✅ PRO Support - Email & Discord | - |
------------------------------------ | ------------------------------------ | ------------------------------------ |
- | 🚀 LIVE Demo | 🛒 Order : $3,999 (GUMROAD) |
👉 Step 1 - Download the code from the GH repository (using
GIT
)
$ git clone https://github.com/app-generator/ecommerce-flask-stripe.git
$ cd ecommerce-flask-stripe
👉 Step 2 - Add STRIPE secrets in
Dockerfile
# Stripe Secrets
ENV STRIPE_SECRET_KEY <YOUR_STRIPE_SECRET_KEY>
ENV STRIPE_PUBLISHABLE_KEY <YOUR_STRIPE_PUBLISHABLE_KEY>
👉 Step 3 - Start the APP in
Docker
$ docker-compose up --build
Visit http://localhost:5085
in your browser. The app should be up & running.
👉 Rename
env.sample
to.env
- Edit
STRIPE_SECRET_KEY
- provided by Stripe Platform - Edit
STRIPE_PUBLISHABLE_KEY
- provided by Stripe Platform
👉 Install dependencies
$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt
👉 Start the App
$ flask run
👉 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
app/templates/products
directory - Create a new
JSON
file 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
master/app/static/products
- Create a directory using the same name as for
JSON
file- Create
card.jpg
: 500x335px - Create
cover.jpg
: 2100x1400px
- Create
- Go to
- Start or refresh the app
- The new product should be listed in the
products/
page - Product page is available at address:
http://localhost:5000/products/<SLUG>/
where the SLUG is the name of the JSON file
- The new product should be listed in the
Sample product page generated for Air ZOOM Pegasus, assets loaded from here
The project has a simple structure, represented as bellow:
< PROJECT ROOT >
|
|-- app/__init__.py
|-- app/
| |-- 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
|
|-- ************************************************************************
- Flask Framework - The official website
- Stripe Dev Tools - official docs
Flask Stripe Sample - Free sample provided by AppSeed.