- Add Cloud for Sovereignty landing zone architecture and deployment - Implement complete legal document management system - Reorganize documentation with improved navigation - Add infrastructure improvements (Dockerfiles, K8s, monitoring) - Add operational improvements (graceful shutdown, rate limiting, caching) - Create comprehensive project structure documentation - Add Azure deployment automation scripts - Improve repository navigation and organization
146 lines
3.3 KiB
Markdown
146 lines
3.3 KiB
Markdown
# Packages Directory
|
|
|
|
**Last Updated**: 2025-01-27
|
|
**Purpose**: Shared libraries and packages overview
|
|
|
|
## Overview
|
|
|
|
This directory contains shared libraries and packages used across services and applications in The Order monorepo.
|
|
|
|
## Package Categories
|
|
|
|
### Core Packages
|
|
|
|
#### `shared/`
|
|
- **Purpose**: Common utilities, middleware, error handling
|
|
- **Used By**: All services
|
|
- **Key Features**: Logging, validation, authentication, rate limiting
|
|
|
|
#### `database/`
|
|
- **Purpose**: Database layer, migrations, queries
|
|
- **Used By**: All services
|
|
- **Key Features**: PostgreSQL client, migrations, query builders
|
|
|
|
#### `schemas/`
|
|
- **Purpose**: Zod/JSON schemas for validation
|
|
- **Used By**: All services and apps
|
|
- **Key Features**: Request/response validation, type safety
|
|
|
|
### Authentication & Security
|
|
|
|
#### `auth/`
|
|
- **Purpose**: Authentication and authorization
|
|
- **Used By**: All services
|
|
- **Key Features**: JWT, OIDC, DID authentication
|
|
|
|
#### `crypto/`
|
|
- **Purpose**: Cryptography, KMS integration
|
|
- **Used By**: Identity, Legal Documents services
|
|
- **Key Features**: Key management, signing, encryption
|
|
|
|
### Infrastructure
|
|
|
|
#### `storage/`
|
|
- **Purpose**: Storage abstraction (S3/GCS/Azure)
|
|
- **Used By**: Intake, Dataroom, Legal Documents services
|
|
- **Key Features**: WORM storage, object lifecycle
|
|
|
|
#### `monitoring/`
|
|
- **Purpose**: Observability and metrics
|
|
- **Used By**: All services
|
|
- **Key Features**: Prometheus metrics, OpenTelemetry
|
|
|
|
#### `cache/`
|
|
- **Purpose**: Caching utilities
|
|
- **Used By**: All services
|
|
- **Key Features**: Redis caching, cache strategies
|
|
|
|
### Specialized Packages
|
|
|
|
#### `verifier-sdk/`
|
|
- **Purpose**: Verifiable credential verification
|
|
- **Used By**: Identity service
|
|
- **Key Features**: VC verification, DID resolution
|
|
|
|
#### `ocr/`
|
|
- **Purpose**: OCR processing
|
|
- **Used By**: Intake service
|
|
- **Key Features**: Document OCR, text extraction
|
|
|
|
#### `payment-gateway/`
|
|
- **Purpose**: Payment gateway abstraction
|
|
- **Used By**: Finance service
|
|
- **Key Features**: Stripe integration, payment processing
|
|
|
|
## Package Structure
|
|
|
|
All packages follow a consistent structure:
|
|
|
|
```
|
|
package/
|
|
├── src/
|
|
│ ├── index.ts # Main exports
|
|
│ └── [module files]
|
|
├── tests/ # Test files
|
|
├── package.json # Package definition
|
|
└── README.md # Package documentation
|
|
```
|
|
|
|
## Using Packages
|
|
|
|
### In Services
|
|
|
|
```typescript
|
|
import { createLogger, errorHandler } from '@the-order/shared';
|
|
import { getPool, createDocument } from '@the-order/database';
|
|
import { IssueVCSchema } from '@the-order/schemas';
|
|
```
|
|
|
|
### In Applications
|
|
|
|
```typescript
|
|
import { Button } from '@the-order/ui';
|
|
import { validateSchema } from '@the-order/schemas';
|
|
```
|
|
|
|
## Development
|
|
|
|
### Building Packages
|
|
|
|
```bash
|
|
# Build all packages
|
|
pnpm build
|
|
|
|
# Build specific package
|
|
pnpm --filter @the-order/shared build
|
|
```
|
|
|
|
### Testing Packages
|
|
|
|
```bash
|
|
# Test all packages
|
|
pnpm test
|
|
|
|
# Test specific package
|
|
pnpm --filter @the-order/shared test
|
|
```
|
|
|
|
## Package Dependencies
|
|
|
|
Packages can depend on other packages:
|
|
- `shared` → No dependencies
|
|
- `database` → `shared`
|
|
- `auth` → `shared`, `database`
|
|
- Services → Multiple packages
|
|
|
|
## Related Documentation
|
|
|
|
- [Project Structure](../PROJECT_STRUCTURE.md)
|
|
- [Service Documentation](../services/)
|
|
- [Architecture Documentation](../docs/architecture/)
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-01-27
|
|
|