A modern, scalable multitenant SaaS solution combining a comprehensive B2B/B2C e-commerce platform with a Procurement-Platform Gateway. Built with .NET Aspire (C# backend) and Vue.js 3 (frontend), deployable on AWS, Azure, and Google Cloud.
β οΈ Pre-Release (v0.x): APIs and interfaces may change without notice. Not recommended for production use. See GL-014 and ADR-037 for lifecycle details.
- οΏ½ Documentation Quick Reference - Find the documentation you need
- π AI Knowledge Base - AI agent triggers & reference
- π Quick Start Guide - Get started in 5 minutes
- π Security Instructions - Security implementation
- π Project Dashboard - Metrics & status
B2X consists of three integrated components:
-
Shop Platform: Full-featured e-commerce solution supporting both B2B and B2C models
- Multi-channel order management
- Product catalog with advanced filtering and recommendations
- Shopping cart and checkout with multiple payment methods
- Order fulfillment and logistics integration
- Customer relationship management
-
Procurement Gateway: Integration hub for B2B procurement platforms
- Unified API for third-party procurement platforms
- Order synchronization and automation
- Real-time inventory management
- Supplier integration
- EDI and API-based integrations
-
Frontend CMS & Layout Builder: Integrated no-code customization system
- Visual page builder with drag-and-drop interface
- 50+ pre-built components (UI, layout, e-commerce)
- Theme customizer (colors, fonts, spacing)
- Publishing workflow with version control
- SEO optimization tools
- Allows customers to build custom storefronts without developers
Microservices:
- Domain-Driven Design with bounded contexts
- .NET Aspire orchestration with observability
- Separate API Gateways for Store (public) and Admin (protected)
Infrastructure:
- PostgreSQL 16.11 (7 databases)
- Redis 8.4.0 (caching & sessions)
- Elasticsearch 9.2.3 (search)
- RabbitMQ 4.2.2 (messaging)
Frontend:
- Vue.js 3 with TypeScript and Vite
- Separate apps for Store and Admin
See Architecture Documentation for details.
- .NET 10 SDK
- Node.js 18+ and npm
- No Docker required - Aspire handles orchestration
cd AppHost
ASPNETCORE_ENVIRONMENT=Development dotnet run
# Services orchestrated by Aspire:
# - Store Gateway: http://localhost:6000
# - Admin Gateway: http://localhost:6100
# - Aspire Dashboard: http://localhost:15500cd frontend/Store
npm install && npm run dev
# Frontend will be available at http://localhost:5173That's it! You now have a complete local development environment with:
- β Auth Service - Authentication & Authorization
- β Tenant Service - Multi-tenant Management
- β Localization Service - i18n & Translations
- β Vue.js Frontend - Full UI
Why AppHost?
- π― All-in-one: Orchestrates all services in one command
- π Cross-platform: Works on macOS, Windows, and Linux identically
- β‘ Zero dependencies: No Docker, DCP, or external tools required
- π§ Simple configuration: Plain .NET Process API - easy to extend
- π Clear visibility: All logs in one terminal
π Full AppHost Guide β | Quick Reference β
- Runtime: .NET 8
- Framework: ASP.NET Core
- Orchestration: .NET Aspire
- Message Broker: Wolverine (CQRS, events)
- Data Access: Entity Framework Core
- Observability: OpenTelemetry, Serilog
- Cloud Support: AWS, Azure, Google Cloud SDKs
- Framework: Vue.js 3
- Build Tool: Vite
- Language: TypeScript
- State Management: Pinia
- HTTP Client: Axios
- Testing: Vitest, Vue Test Utils, Playwright
- UI Components: PrimeVue or TailwindCSS
- Backend Architecture
- API Specifications
- Shop Platform Specifications
- Procurement Gateway Specifications
- Frontend CMS & Layout Builder - NEW: Customer-facing customization system
- CMS Overview - NEW: Business-friendly CMS introduction
- CMS Implementation Details - NEW: Technical CMS architecture
- Multitenant Design
- Development Guidelines
cd backend/services/auth-service
dotnet test tests/cd Frontend/Store
npm run test # Unit tests
npm run test:components # Component tests
npm run test:e2e # End-to-end tests
npm run coverage # Coverage report# Build and run with docker-compose
cd backend/infrastructure
docker-compose up
# Frontend is served separately
cd Frontend/Store
npm run dev- AWS: See
backend/infrastructure/terraform/aws/ - Azure: See
backend/infrastructure/terraform/azure/ - Google Cloud: See
backend/infrastructure/terraform/gcp/
Copy .env.example to .env and configure:
# Backend (.env in AppHost)
ASPNETCORE_ENVIRONMENT=Development
DATABASE_URL=Server=localhost;Database=B2X;User Id=sa;Password=YourPassword;
RABBITMQ_URL=amqp://guest:guest@localhost:5672/
# Frontend (.env in frontend/Store/)
VITE_API_URL=http://localhost:5000/api
VITE_APP_NAME=B2X- Data Isolation: Row-Level Security (RLS) or separate schemas per tenant
- Authentication: OpenID Connect with JWT (tenant ID in claims)
- API: All requests include
X-Tenant-IDheader - Frontend: Tenant context managed via Pinia store
- Scaling: Tenant-aware auto-scaling policies
- Write failing test
- Implement minimal code to pass
- Refactor while keeping tests green
See [DOC-009] for detailed guidelines on:
- When to use Copilot (β boilerplate, β security-critical code)
- Review checklist for generated code
- Multitenant safety requirements
- See
MODEL_LICENSES.mdfor an inventory of AI models referenced in this repository, provider terms, and a compliance checklist.
If your organization requires contract copies or additional compliance artifacts, store them in .ai/compliance/ (keep actual contracts out of the public repo; use secure internal storage or private cloud storage and record references in .ai/compliance/vendor-contracts.md).
- Trigger: Push to main/develop branches
- Backend: Restore, build, test, lint
- Frontend: Install, build, test, lint
- Coverage: Minimum 80% for new code
- Security: Scan dependencies, check credentials
- Follow TDD approach - tests first, then implementation
- Review [DOC-009] for standards
- Ensure all tests pass before submitting PR
- Maintain test coverage above 80%
- Include documentation for public APIs
TBD
B2X Development Team
Last Updated: 2025-12-30 Version: 1.0.0-beta