An e-commerce application applying micro-services architecture.
Name | Technology |
---|---|
Customer web client | |
Vendor web client | |
Adminstrator web client |
Name | Technology |
---|---|
Containers managing | |
API Gateway | Kong Gateway |
Async Communication (M2M) | |
Sync Communication (M2M) | gRPC |
Identity Provider | Auth0 |
Payment | |
CI/CD Pipeline | |
Storage and Shared Database |
- Docker Desktop
- AWS S3 credentials
- Stripe publishable and secret keys
- Currency exchange rate API key
- Auth0 client-id, domain and scope
- Switch to Linux containers on Windows only
- Unix kernel environment (Windows users can use WSL2)
- Shell terminal
- Open your terminal (Linux Shell for the sake of simplicity)
- Change directory to this repository:
cd eshop
- Export environment variables:
export AWS_REGION=your-aws-credentials
export AWS_ACCESS_KEY_ID=your-aws-credentials
export AWS_SECRET_ACCESS_KEY=your-aws-credentials
export AWS_BUCKET=your-aws-credentials
export STRIPE_PUBLISHABLE_KEY=your-stripe-credentials
export STRIPE_SECRET_KEY=your-stripe-credentials
export EXCHANGE_RATE_API_KEY=your-exchange-api-key
export AUTH0_CLIENT_ID=your-auth0-credentials
export AUTH0_DOMAIN=your-auth0-credentials
export AUTH0_SCOPE=your-auth0-credentials
- This step is just required for the first run, build projects:
docker compose build catalog-service basket-service review-service
docker compose build storage-service vendor-service currency-service
docker compose build discount-service coupon-service
- This step is just required for the first run, initialize databases:
chmod +x ./bootstrap.sh && ./bootstrap.sh
- Start application:
chmod +x ./start.sh && ./start.sh
- Navigate to: