This project comprises several independent backend applications, each responsible for a specific business domain in B2C or B2B scenarios, from user management to payment processing.
This project is currently for learning purpose and not production-ready system.
Application Name | Purpose |
---|---|
User Management | handles authentication, registration, and user profile maintenance |
Product | manages the product catalog search, including custom attributes and taggings |
Storefront | manages storefronts profile, product pricing, other business-specific configurations |
Media Processing | responsible for storing, processing, and serving media assets (e.g., product images, videos) |
Order Processing | takes care of order creation, tracking, and return |
Payment | integrates with third-party gateways to process payments and manage transaction states |
- Service-Oriented Architecture, where each application operates independently.
- API-Driven Communication
- frontend applications can access these backend applicaions through web API endpoints
- communications between the backend applications can be achieved with asynchronous messaging through RPC API whenever needed.
- Hexagonal Architecture in Product-catalogue, Media-Processing, order-processing, and payment applications.
- Test-Driven Development, unit / integration tests cover all primary features of the applications
Note: Currently, this project has not been deployed in any production environment. Further refinements may be needed based on real-world scaling and performance observations.
- setup for inter-service communication
- each application comes with its own build, test processes, and technology stack details, please refer to
README
of these application
This project is licensed under [Your License Here]. See the LICENSE file for details.