CLIENTE
API
SERVICIOS
Voice Processing Pipeline
Railway
Backend API & Database
Vercel
Landing & Admin Portal
Cloudflare R2
File Storage & CDN
GitHub Actions
CI/CD Pipeline
Docker
Containerization
Sentry
Error Tracking
Railway Metrics
Server Monitoring
PostHog
Product Analytics
Uptime Robot
Uptime Monitoring
// Core Models (Prisma Schema)
model User {
id String @id @default(uuid())
email String @unique
passwordHash String
name String
businessName String?
plan Plan @default(FREE)
clients Client[]
quotes Quote[]
invoices Invoice[]
voiceNotes VoiceNote[]
events CalendarEvent[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Client {
id String @id @default(uuid())
userId String
name String
email String?
phone String?
company String?
quotes Quote[]
invoices Invoice[]
user User @relation(fields: [userId])
}
model Quote {
id String @id @default(uuid())
userId String
clientId String
number String @unique
status QuoteStatus @default(DRAFT)
items Json
subtotal Decimal
tax Decimal
total Decimal
validUntil DateTime
user User @relation(fields: [userId])
client Client @relation(fields: [clientId])
invoice Invoice?
}
model VoiceNote {
id String @id @default(uuid())
userId String
audioUrl String
transcription String?
intent String?
processed Boolean @default(false)
result Json?
user User @relation(fields: [userId])
createdAt DateTime @default(now())
}
enum Plan { FREE, PRO, BUSINESS }
enum QuoteStatus { DRAFT, SENT, ACCEPTED, REJECTED, EXPIRED } CREATE_QUOTE
Genera presupuesto desde transcripción
CREATE_INVOICE
Crea factura y envía al cliente
SCHEDULE_EVENT
Añade evento al calendario
ADD_CLIENT
Registra nuevo cliente en CRM
SEND_REMINDER
Envía recordatorio de cobro
10K
Usuarios concurrentes
100K
Requests/día
<200ms
API response time
99.9%
Uptime SLA
Horizontal Scaling
Railway auto-scales según demanda
Database Pooling
PgBouncer para connection management
CDN Caching
Cloudflare para assets estáticos