https://github.com/zigameni/blockchain-store-management-system
Multi-user e-commerce platform with blockchain-based payments. Customers shop, couriers deliver, owners manage inventory. Payments secured through Ethereum smart contracts with automatic fund distribution. Fully dockerized microservices architecture.
https://github.com/zigameni/blockchain-store-management-system
blockchain docker ethereum flask jwt-authentication mysql python rest-api smart-contracts sqlalchemy web3py
Last synced: 3 months ago
JSON representation
Multi-user e-commerce platform with blockchain-based payments. Customers shop, couriers deliver, owners manage inventory. Payments secured through Ethereum smart contracts with automatic fund distribution. Fully dockerized microservices architecture.
- Host: GitHub
- URL: https://github.com/zigameni/blockchain-store-management-system
- Owner: zigameni
- Created: 2025-10-27T22:11:53.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-27T22:12:55.000Z (8 months ago)
- Last Synced: 2025-10-28T00:14:05.494Z (8 months ago)
- Topics: blockchain, docker, ethereum, flask, jwt-authentication, mysql, python, rest-api, smart-contracts, sqlalchemy, web3py
- Language: Python
- Homepage:
- Size: 116 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Store Management System with Blockchain Payments
A containerized multi-user store management system built with Flask, SQLAlchemy, and Ethereum smart contracts.
## Features
- **User Management**: Authentication for customers, couriers, and store owners
- **Product Management**: CSV upload, search, and statistics
- **Order Processing**: Full order lifecycle with status tracking
- **Blockchain Payments**: Ethereum smart contracts for secure payment escrow
- **Docker Deployment**: Complete containerized system with Docker Compose
## Quick Start
```bash
# Clone and start
git clone
cd store-management-system
docker-compose up --build
```
**Services:**
- Authentication: `http://localhost:5001`
- Owner: `http://localhost:5002`
- Customer: `http://localhost:5003`
- Courier: `http://localhost:5004`
- Blockchain: `http://localhost:8545`
## Default Owner Account
```
Email: onlymoney@gmail.com
Password: evenmoremoney
```
## Tech Stack
- **Backend**: Flask, SQLAlchemy
- **Database**: MySQL
- **Blockchain**: Solidity, Web3.py, Ganache
- **Deployment**: Docker, Docker Compose
## Project Structure
```
.
├── authentication/ # Auth service
├── owner/ # Owner service
├── customer/ # Customer service
├── courier/ # Courier service
├── blockchain/ # Smart contracts
├── models.py # Database models
├── configuration.py # Config
└── docker-compose.yml # Orchestration
```
## API Documentation
### Authentication
- `POST /register_customer` - Register customer
- `POST /register_courier` - Register courier
- `POST /login` - User login
### Owner
- `POST /update` - Upload products (CSV)
- `GET /product_statistics` - Product stats
- `GET /category_statistics` - Category stats
### Customer
- `GET /search` - Search products
- `POST /order` - Create order
- `POST /generate_invoice` - Get payment invoice
- `GET /status` - View orders
- `POST /delivered` - Confirm delivery
### Courier
- `GET /orders_to_deliver` - Available orders
- `POST /pick_up_order` - Pick up order
## Testing
```bash
cd tests
python main.py
```
## License
Academic project - See LICENSE file
## Tags
`flask` `docker` `blockchain` `ethereum` `smart-contracts` `sqlalchemy` `web3py` `microservices` `rest-api` `jwt` `python` `mysql` `e-commerce` `order-management` `payment-system`