StockWise is a professional, RESTful API built with FastAPI and MySQL. This project was developed as a portfolio piece to demonstrate deep understanding of backend development, relational database design with SQL, and API documentation best practices. It provides a complete, transaction-safe solution for managing products, suppliers, and inventory stock levels.
| Area | Technology |
|---|---|
| Framework | Python 3, FastAPI |
| Database | MySQL (Relational) |
| Data Access | SQLAlchemy (ORM) with PyMySQL Driver |
| Validation | Pydantic |
| Server | Uvicorn (ASGI) |
| API Testing | Thunder Client / Postman |
The core of StockWise is its normalized relational database schema, designed to ensure data integrity and prevent race conditions using pessimistic locking.
erDiagram
SUPPLIERS {
int id PK
varchar name UK
varchar contact_email
}
PRODUCTS {
int id PK
varchar sku UK
varchar name
decimal price
int current_stock
int supplier_id FK
timestamp date_added
}
INVENTORY_LOGS {
int id PK
int product_id FK
int quantity_change
varchar reason
timestamp log_timestamp
}
SUPPLIERS ||--|{ PRODUCTS : "supplies"
PRODUCTS ||--|{ INVENTORY_LOGS : "logs"