{"id":16175254,"url":"https://github.com/app-generator/ecommerce-flask-stripe-deploy","last_synced_at":"2025-04-07T11:14:15.815Z","repository":{"id":100502882,"uuid":"567340873","full_name":"app-generator/ecommerce-flask-stripe-deploy","owner":"app-generator","description":"Flask \u0026 Stripe - Mini eCommerce | AppSeed","archived":false,"fork":false,"pushed_at":"2022-11-17T18:44:57.000Z","size":10677,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T18:13:26.112Z","etag":null,"topics":["deployment","flask","opensource","stripe"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=iXjmWUNbTjA","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/app-generator.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-17T15:28:42.000Z","updated_at":"2022-11-17T18:43:40.000Z","dependencies_parsed_at":"2023-05-15T11:15:26.445Z","dependency_job_id":null,"html_url":"https://github.com/app-generator/ecommerce-flask-stripe-deploy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":"app-generator/ecommerce-flask-stripe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fecommerce-flask-stripe-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fecommerce-flask-stripe-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fecommerce-flask-stripe-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fecommerce-flask-stripe-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/app-generator","download_url":"https://codeload.github.com/app-generator/ecommerce-flask-stripe-deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640467,"owners_count":20971558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deployment","flask","opensource","stripe"],"created_at":"2024-10-10T04:44:28.488Z","updated_at":"2025-04-07T11:14:15.791Z","avatar_url":"https://github.com/app-generator.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Flask \u0026 Stripe](https://blog.appseed.us/flask-stripe-open-source-mini-ecommerce/) `Mini eCommerce`\n\nOpen-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 **Flask**.\n\n- 👉 [Flask \u0026 Stripe Presentation](https://www.youtube.com/watch?v=JDtigUqW_MM) - published on `YouTube`\n- 👉 [Deploy Flask on Render](https://docs.appseed.us/deployment/render/flask) - `Step-by-step` tutorial\n- ✅ Compatible with [LIVE Deployer](https://appseed.us/go-live/)\n  - [Deploy with Drag \u0026 Drop](https://www.youtube.com/watch?v=iXjmWUNbTjA) - `video material`\n\n\u003cbr /\u003e\n\n\u003e Roadmap \u0026 Features \n\n| Status | Item | info | \n| --- | --- | --- |\n| ✅ | **Flask** | For `backend logic` |\n| ✅ | **Stripe** | `Payment processor` |\n| ✅ | **[Soft UI Design](https://www.creative-tim.com/product/soft-ui-design-system?AFFILIATE=128200)** | (Free Version) by `Creative-Tim` |\n| ✅ | **JSON** | `Products definition` - see [sample](./app/templates/products/product-air-zoom-pegasus.json) |\n| ✅ | Automatic Products Discovery | Source DIR: [templates\\products](./app/templates/products) |\n| ✅ | **Dw Products from Stripe** | On going development via [Python Stripe Library](https://pypi.org/project/python-stripe/) |\n| ✅ | **CI/CD** | Render Deployment Platform |\n| ✅ | **Deployment** | `Docker` \u0026 Pages Compression |\n\n\u003cbr /\u003e\n\n## ✨ `Go LIVE` via [LIVE Deployer](https://appseed.us/go-live/)\n\n\u003e This video explains `how to deploy` the product LIVE using a `Drag \u0026 Drop` gesture.\n\n\u003cbr /\u003e \n\nhttps://user-images.githubusercontent.com/51070104/202530724-39364d09-17fe-4020-adc7-8003e2fabd49.mp4\n\n\u003cbr /\u003e\n\n## ✨ Start the app in `Docker`\n\n\u003e 👉 **Step 1** - Download the code from the GH repository (using `GIT`) \n\n```bash\n$ git clone https://github.com/app-generator/ecommerce-flask-stripe.git\n$ cd ecommerce-flask-stripe\n```\n\n\u003cbr /\u003e\n\n\u003e 👉 **Step 2** - Add STRIPE secrets in `Dockerfile`\n\n```Dokerfile\n# Stripe Secrets \nENV STRIPE_SECRET_KEY      \u003cYOUR_STRIPE_SECRET_KEY\u003e\nENV STRIPE_PUBLISHABLE_KEY \u003cYOUR_STRIPE_PUBLISHABLE_KEY\u003e\n```\n\n\u003cbr /\u003e\n\n\u003e 👉 **Step 3** - Start the APP in `Docker`\n\n```bash\n$ docker-compose up --build \n```\n\nVisit `http://localhost:5085` in your browser. The app should be up \u0026 running.\n\n\u003cbr /\u003e\n\n## ✨ Quick Start\n\n\u003e 👉 Rename `env.sample` to `.env`\n\n- Edit `STRIPE_SECRET_KEY` - provided by Stripe Platform\n- Edit `STRIPE_PUBLISHABLE_KEY` - provided by Stripe Platform\n\n\u003cbr /\u003e\n\n\u003e 👉 Install dependencies\n\n```bash\n$ virtualenv env\n$ source env/bin/activate\n$ pip install -r requirements.txt\n```\n\n\u003cbr /\u003e\n\n\u003e 👉 Start the App\n\n```bash\n$ flask run\n```\n\n\u003cbr /\u003e\n\n\u003e 👉 Access the products and initiate a payment\n\n**IMPORTANT**: Make sure your Stripe account is running in `TEST Mode` and Use Test CC provided by Stripe:\n\n- **CC Number**: `4242 4242 4242 4242`\n- Any data for the rest of the fields  \n\n\u003cbr /\u003e\n\n## ✨ Create a new Product\n\n- Go to `app/templates/products` directory\n- Create a new `JSON` file with data:\n  - `name`: Used in product page \u0026 Cards\n  - `price`: Used for payment\n  - `currency`: Used for payment\n  - `info`: used in cards \n  - `short_description`: used in product page\n  - `full_description`: used in product page\n- Create Media Files\n  - Go to `master/app/static/products` \n  - Create a directory using the same name as for `JSON` file\n    - Create `card.jpg`: 500x335px\n    - Create `cover.jpg`: 2100x1400px\n- Start or refresh the app\n  - The new product should be listed in the `products/` page\n  - Product page is available at address:\n    - `http://localhost:5000/products/\u003cSLUG\u003e/` where the SLUG is the name of the JSON file \n  \n\u003cbr /\u003e\n\n\u003e Sample product page generated for [Air ZOOM Pegasus](./app/templates/products/product-air-zoom-pegasus.json), assets loaded from [here](./app/static/products/product-air-zoom-pegasus)\n\n\u003cbr /\u003e\n\n![Flask Stripe Sample - Air ZOOM Pegasus (sample Product](https://user-images.githubusercontent.com/51070104/152586940-2f3b31fb-f067-487a-98ca-26d9e1936514.png)\n\n\u003cbr /\u003e\n\n## ✨ Codebase structure\n\nThe project has a simple structure, represented as bellow:\n\n```bash\n\u003c PROJECT ROOT \u003e\n   |\n   |-- app/__init__.py\n   |-- app/\n   |    |-- static/\n   |    |    |-- \u003ccss, JS, images\u003e         # CSS files, Javascripts files\n   |    |\n   |    |-- templates/\n   |    |    |\n   |    |    |-- includes/                 # Page chunks, components\n   |    |    |    |-- navigation.html      # Top bar\n   |    |    |    |-- sidebar.html         # Left sidebar\n   |    |    |    |-- scripts.html         # JS scripts common to all pages\n   |    |    |    |-- footer.html          # The common footer\n   |    |    |\n   |    |    |-- layouts/                  # App Layouts (the master pages)\n   |    |    |    |-- base.html            # Used by common pages like index, UI\n   |    |    |    |-- base-fullscreen.html # Used by auth pages (login, register)\n   |    |    |\n   |    |    |-- products/                        # Define your products here\n   |    |    |    |-- nike-goalkeeper-match.json  # Sample product\n   |\n   |-- requirements.txt\n   |\n   |-- run.py\n   |\n   |-- ************************************************************************\n```\n\n\u003cbr /\u003e\n\n## ✨ Credits \u0026 Links\n\n- [Flask Framework](https://www.palletsprojects.com/p/flask/) - The official website\n- [Stripe Dev Tools](https://stripe.com/docs/development) - official docs\n\n\u003cbr /\u003e\n\n---\n[Flask Stripe Sample](https://blog.appseed.us/flask-stripe-open-source-mini-ecommerce/) - Free sample provided by [AppSeed](https://appseed.us).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fecommerce-flask-stripe-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapp-generator%2Fecommerce-flask-stripe-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fecommerce-flask-stripe-deploy/lists"}