A .NET 10.0 implementation of the Circles Marketplace API, providing aggregated catalogs, cart management, and order fulfillment.
- Circles.Market.Api: The main ASP.NET Core Web API service.
- Circles.Market.Adapters.Odoo: Adapter for Odoo integration.
- Circles.Market.Adapters.CodeDispenser: Adapter for digital code dispensation.
- Circles.Market.Shared: Shared models and logic across projects.
- .NET 10.0 SDK
- Docker
The solution file is located at Circles.Market/Circles.Market.sln.
cd Circles.Market
dotnet restore
dotnet buildYou can run the stack using Docker Compose:
cd Circles.Market
cp .env.example .env
# Edit .env to set required variables
docker compose up -dThis will:
- Build the
market-api,market-adapter-codedispenser, andmarket-adapter-odooimages. - Start a PostgreSQL 17 instance.
- Start an IPFS Kubo instance.
- Initialize the databases (provisioning only) using the
init-dbservice.
Odoo adapter starts by default; it returns 404 until you configure odoo_connections via the admin API.
Each service creates its own schema at startup. Cross-service admin configuration is done via the Market admin API (see docs/ops.md). Adapters only validate the Market-issued admin JWTs on their admin ports.
Default ports:
- Market API:
5084 - Market Admin API:
5090(loopback by default) - CodeDispenser Adapter:
5680 - CodeDispenser Admin API:
5690(loopback by default) - Odoo Adapter:
5678 - Odoo Admin API:
5688(loopback by default) - IPFS API:
25001 - IPFS Gateway:
28081(on host, if not conflicting) - PostgreSQL:
25433(on host)
You can customize the configuration by creating a .env file in the Circles.Market directory.
AGPLv3