Designed and created for training purpose in software architecture.
User have to see a list of all the available products in stock. We need to be able to see product information (name, price, quantity) in readable form. User need to have possibility perform search by product name and buy any product. User need to have possibility checkout product and create order. Users must have access to this application after being authenticated.
- Clone all projects
$ git submodule update --init --recursive
$ git submodule update --recursive --remote
- Run application using docker compose
$ docker-compose up --build --scale handler=2
$ docker-compose up --scale handler=2
- Open http://localhost:8444 url in browser
- Display available products in SW store
- Checkout order in SW store
- Display dashboard with price statistic, user activities
- Save user activity history
- Extend Api for external customers
- Create online chat bot
- Microservice Architecture
- CQRS Architecture
- Onion Architecture
- OAuth 2.0 Authorization
- Facebook OAuth
- Kubernetes
- Docker
- High Level View
- Frontend Component - provides UI of application to end users
- GraphQL Component - provides an API to interact with Frontend
- Products Component - provides an API for Products CRUD operations
- Checkout Component - provides an API for checkout order operations
- Delivery Component - provides an API for delivery order operations
- Delivery Truck - provides delivery truck simulator
- Development Flow
- Bug Verification Flow
- Dashboard page
- Products page
- Api for external users