Skip to content

app-generator/ecommerce-fastapi-stripe

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
November 14, 2022 21:41
src
November 14, 2022 20:15
October 26, 2022 12:39
October 26, 2022 12:39
November 25, 2022 09:02
October 29, 2022 08:21

FastAPI & 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 FastAPI & Stripe.

Roadmap & Features

Status Item info
FastAPI 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
Deployment Docker
CI/CD Render Deployment Platform

✨ Video Presentation

This video explains how to use the product


fastapi-stripe-ecommerce.mp4

✨ Quick Start in Docker

👉 Step 1 - Download the code from the GH repository (using GIT)

$ git clone https://github.com/app-generator/ecommerce-fastapi-stripe.git
$ cd ecommerce-fastapi-stripe

👉 Step 2 - Start the APP in Docker

$ docker-compose up --build 

Visit http://localhost:5085 in your browser. The app should be up & running.


FastAPI & Stripe mini eCommerce - Open-Source Starter provided by AppSeed.


✨ Manual Build

The process is basically the usual set up for any Python app: environment set up, dependencies install, and bootstrap.


👉 Step 1 - Download the code from the GH repository (using GIT)

$ git clone https://github.com/app-generator/ecommerce-fastapi-stripe.git
$ cd ecommerce-fastapi-stripe

👉 Step 2 - Rename env.sample to .env and provide the Stripe Secrets

  • Edit STRIPE_SECRET_KEY - provided by Stripe Platform
  • Edit STRIPE_PUBLISHABLE_KEY - provided by Stripe Platform

👉 Step 3 - Install dependencies

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

👉 Step 4 - Start the App

$ uvicorn src.app:app --reload

Visit http://localhost:8000 in your browser. For another port, use --port 8099 directive.


✨ Create a new Product

  • Go to src/templates/products directory
  • Create a new JSON file 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 src/static/products
    • Create a directory using the same name as for JSON file
      • Create card.jpg: 500x335px
      • Create cover.jpg: 2100x1400px
  • Start or refresh the app
    • The new product should be listed in the products/ page
    • Product page is available at address:
      • http://localhost:8000/products/<SLUG>/ where the SLUG is the name of the JSON file

Sample product page generated for Air ZOOM Pegasus, assets loaded from here


✨ Credits & Links



FastAPI & Stripe Mini eCommerce - Free sample provided by AppSeed.