- 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
100 lines
1.7 KiB
Markdown
100 lines
1.7 KiB
Markdown
# 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
|