workspace "Influstar" "Plataforma de monetización para influencers con gamificación" { model { // Personas user = person "Usuario" "Participa en rifas, torneos y transmisiones en vivo usando Stars." influencer = person "Influencer" "Monetiza a través de rifas, contenido en vivo y recompensas." admin = person "Administrador" "Gestiona la plataforma y sus dinámicas." // Software System influstar = softwareSystem "Influstar" "Plataforma digital con rifas, torneos y gamificación." { // Containers mobileApp = container "Flutter App" "Aplicación móvil para usuarios e influencers." "Flutter" backend = container "Backend API" "Proporcionado por el cliente, maneja lógica y datos." "Node.js / Spring Boot" database = container "Database" "Base de datos para almacenar información de usuarios, Stars, rifas y torneos." "PostgreSQL / MongoDB" paymentGateway = container "Payment Gateway" "Servicio externo para procesar pagos y recargas de Stars." "Stripe / MercadoPago" chatService = container "Chat Service" "Proporciona mensajería en tiempo real dentro de la plataforma." "TalkJS / Firebase" // Relaciones Internas user -> mobileApp "Usa para participar en rifas y torneos" influencer -> mobileApp "Usa para crear rifas y ganar Stars" admin -> mobileApp "Usa para administrar eventos y usuarios" mobileApp -> backend "Consume APIs para obtener datos y realizar transacciones" "REST API / GraphQL" backend -> database "Almacena y recupera información de la plataforma" "SQL / NoSQL" mobileApp -> paymentGateway "Realiza pagos y recargas de Stars" mobileApp -> chatService "Envia y recibe mensajes en tiempo real" backend -> paymentGateway "Valida transacciones y confirma pagos" backend -> chatService "Facilita la integración de mensajería en tiempo real" } } views { systemContext influstar { include * autolayout lr } container influstar { include * autolayout lr } theme default } }