Initial commit: SDI SaaS Platform foundation

- Complete monorepo structure with pnpm workspaces
- Prisma database schema with 20+ entities
- NestJS API with 9 core modules
- BullMQ orchestration worker
- AWS and Azure provider adapters
- Docker Compose infrastructure
- Complete documentation
This commit is contained in:
austindebest
2026-04-20 00:00:59 +01:00
commit d62468adf9
69 changed files with 10136 additions and 0 deletions

99
QUICKSTART.md Normal file
View File

@@ -0,0 +1,99 @@
# SDI SaaS Platform - Quick Start Guide
## Local Development Setup
### 1. Install Dependencies
```bash
pnpm install
```
### 2. Start Infrastructure
```bash
docker-compose up -d postgres redis
```
### 3. Configure Environment
```bash
# Copy environment files
cp apps/api/.env.example apps/api/.env
cp apps/worker/.env.example apps/worker/.env
cp packages/database/.env.example packages/database/.env
```
### 4. Initialize Database
```bash
# Generate Prisma client
pnpm db:generate
# Run migrations
pnpm db:migrate
```
### 5. Seed Sample Data (Optional)
Create a seed script to populate initial data:
```bash
# TODO: Create seed script
# pnpm db:seed
```
### 6. Start Development Servers
```bash
# Terminal 1: API Server
pnpm --filter @sdi/api dev
# Terminal 2: Worker
pnpm --filter @sdi/worker dev
```
### 7. Access Services
- API: http://localhost:3000
- API Docs: http://localhost:3000/api/docs
- Database Studio: `pnpm db:studio`
## Testing the API
### Create a Tenant
```bash
curl -X POST http://localhost:3000/api/v1/tenants \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corporation",
"slug": "acme-corp"
}'
```
### List Providers
```bash
curl http://localhost:3000/api/v1/providers
```
### Create a Quote
```bash
curl -X POST http://localhost:3000/api/v1/quotes \
-H "Content-Type: application/json" \
-d '{
"productOfferingId": "uuid-here",
"sourceEndpointId": "uuid-here",
"targetEndpointId": "uuid-here",
"bandwidthMbps": 1000
}'
```
## Next Steps
1. Implement authentication (JWT/OAuth)
2. Add seed data for providers and endpoints
3. Build customer portal (Vue 3)
4. Complete AWS/Azure adapter implementations
5. Add real-time updates via SSE