platform-codebase/features/marketplace/backend-api
2026-01-23 09:37:29 -08:00
..
__mocks__ chore(@lilith): 🔧 Update TypeScript files in @lilith package 2026-01-22 02:50:06 -08:00
codebase/features/marketplace/backend-api/src/types
package chore(src): 🔧 Update TypeScript definitions and related utility files in 15 source files 2026-01-22 23:03:20 -08:00
scripts
src chore(src): 🔧 Update controller logic and e2e test cases in usage.controller.ts and tier-enforcement.e2e-spec.ts 2026-01-23 09:12:06 -08:00
test chore(src): 🔧 Update test file friends.e2e-spec.ts and UI component App.tsx for consistency/alignment 2026-01-23 09:37:29 -08:00
.env.test
.swcrc
Dockerfile.e2e
eslint.config.js
jest.config.cjs
lilith-domain-events-2.5.4.tgz
nest-cli.json
package.json deps-upgrade(root): ⬆️ Update backend-api dependencies and regenerate lockfiles across modules 2026-01-22 23:03:04 -08:00
pnpm-lock.yaml
README.md
TIER_ENFORCEMENT_QUICK_REF.md
tsconfig.json chore(marketplace/backend-api): 🔧 Update TypeScript compiler config with strict mode and path mappings 2026-01-22 04:46:09 -08:00
vitest.config.ts chore(marketplace/backend-api): 🔧 Update Vitest test config for marketplace backend API 2026-01-22 02:50:06 -08:00
vitest.e2e.config.ts test(backend-api): Add comprehensive end-to-end tests for billing, cross-promotion, and core marketplace functionality 2026-01-22 03:21:58 -08:00
webpack.config.js

Marketplace Backend API

Backend API for marketplace search, inbox, agreements, and tier enforcement.

Quick Start

# Install dependencies
pnpm install

# Run development server (auto-starts dependencies)
pnpm dev

# Run tests
pnpm test

# Type check
pnpm typecheck

Features

  • Search: Provider profile search with geo-filtering
  • Inbox: Thread and message management
  • Agreements: Service agreement lifecycle
  • Tier Enforcement: Usage limits with discovery memory and rollover

Documentation

Comprehensive tier enforcement documentation is available at:

API Documentation

API docs are auto-generated via Swagger:

Architecture

src/
├── agreements/      # Service agreement management
├── billing/         # Subscription billing integration
├── entities/        # TypeORM entities
├── guards/          # Authentication guards
├── inbox/           # Messaging (threads + messages)
├── merchant/        # Merchant API client
├── migrations/      # Database migrations
├── processors/      # Event processors
├── scheduler/       # Scheduled jobs
├── search/          # Provider search
├── subscriptions/   # Subscription management
├── tiers/           # Tier configuration
├── types/           # TypeScript types
└── usage/           # Usage tracking and enforcement
    ├── dto/                       # Data transfer objects
    ├── services/
    │   ├── usage-core.service.ts       # Period management
    │   ├── message-tracking.service.ts # Message quota
    │   ├── profile-view.service.ts     # Profile view quota
    │   ├── profile-discovery.service.ts # Discovery quota
    │   ├── profile-collection.service.ts # Collection storage
    │   └── message-gift.service.ts     # Gift management
    └── usage-tracking.service.ts  # Main orchestration

Configuration

See .env.example for required environment variables.

Key configuration:

  • DATABASE_URL: PostgreSQL connection string
  • MERCHANT_API_URL: Merchant API endpoint (tier metadata)
  • PORT: API server port (default: 3001)

Testing

# All tests
pnpm test

# With coverage
pnpm test:cov

# Watch mode
pnpm test:watch

# Specific test file
pnpm test src/usage/usage-tracking.service.integration.spec.ts

Test Coverage:

  • 99 tests passing (0 failed, 0 skipped)
  • Unit tests: Rollover calculation, memory expiry
  • Integration tests: Full enforcement flow with PostgreSQL

Development

Adding New Endpoints

  1. Create controller in feature directory
  2. Wire up enforcement via UsageTrackingService
  3. Add tests
  4. Update Swagger annotations

Database Migrations

# Generate migration
pnpm migration:generate src/migrations/MigrationName

# Run migrations
pnpm migration:run

# Revert last migration
pnpm migration:revert

Deployment

See /docs/technical/ for deployment guides.

License

Internal use only - Lilith Platform