Open-Source eCommerce - FastAPI, Stripe, Bootstrap 5

Simple eCommerce powered by FastAPI and Stripe that uses a modern Bootstrap 5 design - Open-source project.

Simple eCommerce - Powered by Stripe, FastAPI and Bootstrap 5
Simple eCommerce - Powered by Stripe, FastAPI and Bootstrap 5

Hello! This article presents a simple eCommerce starter powered by Stripe, FastAPI (for the backend logic), and Bootstrap 5 (for styling).  The goal of this starter is to help programmers bootstrap fast a decent and secure eCommerce solution with minimal effort. Being open-source and released under the MIT license, the codebase can be easily extended, incorporated in commercial projects, or used in eLearning activities.  

A strong point of this project is the UI Kit provided by Creative-Tim, a well-known agency, that released the design for free. Soft UI Design,  comes with 50+ components and reusable widgets for at least a decent eCommerce project.

Simple eCommerce - FastAPI & Stripe

✨ Product Highlights

This mini eCommerce loads the products from JSON files saved in the templates directory and build dynamic pages based on this minimal information.

  • ✅ Backend: FastAPI
  • ✅ Payments: Stripe
  • ✅ Design: Soft UI Design (free version)
  • ✅ Deployment: Docker
  • ✅ Secure by default: No database is used
  • ✅ MIT license

The minimal information required for a product definition can be found below:

{
    "name": "Air ZOOM Pegasus",
    "price": 499,
    "currency": "usd",
    "short_description": "A workhorse built to help ..(truncated)..",
    "full_description": "A workhorse built to help power ..(truncated).."
}

If your workstation has Docker installed, the product can be started via a single command typed in the terminal (make sure you're at the root of the sources).

$ docker-compose up --build 

Once this command finishes the execution, the app should be up & running in the browser.

FastAPI & Stripe - Open-Source eCommerce
FastAPI & Stripe - Open-Source eCommerce

Thanks for reading! For more resources and support, please access: