Skip to content

Latest commit

 

History

History
121 lines (90 loc) · 3.9 KB

File metadata and controls

121 lines (90 loc) · 3.9 KB

🛒 E-Commerce API (FastAPI)

🚀 Features

  • 🔐 Authentication & Authorization (JWT)
  • 📦 Product, Category & Image Management
  • 🛒 Cart, Checkout & Orders
  • 💳 Stripe Payment Integration
  • 📊 Monitoring with Prometheus + Grafana
  • 🐞 Logging & Error Tracking with Sentry
  • 🧵 Background Tasks (Celery + Flower)
  • 🧪 Full Testing Suite (pytest)
  • 💅 Code Quality Tools: ruff, black, isort, mypy
  • 🛡 Security Layers: bandit, detect-secrets, pip-audit, safety

📦 Dependencies

🚀 How to Run the Project

There are two ways to start the E-Commerce API:

1️⃣ Run with Docker (Recommended)

Make sure you have Docker and Docker Compose installed.

Start the project

docker compose up --build

Stop the project

docker compose down

The API will be available at:

http://localhost:8000

2️⃣ Run Locally with Uvicorn

1. Install dependencies

pip install -r requirements.txt

or (if using pyproject.toml)

uv pip install . # or use "uv sync"

2. Configure environment

Create .env file:

cp .env-example .env

Update your DB URL, secret keys, etc.

3. Run database migrations

alembic upgrade head

4. Start the server

uvicorn dev:app --app-dir src --host 0.0.0.0 --port 8000 --reload