Fa aproximadament tres mesos vaig participar en un repte que em va deixar molt entusiasmada i per això comparteixo aquí el procés de desenvolupament, les decisions tècniques que vaig prendre i alguns aprenentatges obtinguts en el camí
Accepto suggeriments de millora
Spoiler: el projecte està tot just en els seus primers passos, queda molt per desenvolupar i el que es comparteix correspon al construït en un repte de 3 a 4 dies
Repositori del projecte: https://github.com/Layssaa/dwitch
L'objectiu del repte era crear una aplicació completa que inclogués frontend i backend, autenticació, persistència de dades, observabilitat i missatgeria. Tot això havia d'implementar-se en una arquitectura distribuïda i documentada
Elecció de l'aplicació: vaig decidir desenvolupar una plataforma de transmissió en viu. Sóc conscient que una transmissió en temps real completa requereix molt més temps i complexitat, per això vaig optar per una simulació basada en missatgeria que complís amb l'abast del repte
Arquitectura dissenyada: la solució es va recolzar en una base de dades PostgreSQL com a nucli de persistència i en quatre mòduls principals: Auth per a autenticació, Channels per a CRUD de canals, User per a CRUD d'usuaris i Broadcast per a la comunicació de transmissions
En aquesta etapa inicial la comunicació en temps real es va simular mitjançant intercanvi de missatges, cosa que difereix d'una transmissió de vídeo real però va permetre demostrar el flux i la integració entre serveis
Implementació tècnica: els microserveis es van desenvolupar amb Fastify per la seva sintaxi àgil i familiar per a qui coneix Express. Per a missatgeria es va triar RabbitMQ, cosa que va facilitar la comunicació asíncrona entre els mòduls
Modelatge de dades: la base de dades contempla la relació entre usuaris i canals, la relació entre canals i transmissions i el vincle de cada transmissió amb el seu historial de logs. Això permet monitoritzar l'estat de cada emissió i mantenir un registre de canvis
Eines utilitzades en la fase inicial: Draw.io per a diagrames, Fastify per a APIs, RabbitMQ per a missatgeria i protocols HTTP i WebSocket per a comunicacions
Pròxims passos: en una següent entrega detallaré la implementació interna de cada mòdul, l'orquestració de missatgeria i com es va configurar l'observabilitat del sistema
Sobre Q2BSTUDIO: som una empresa de desenvolupament de programari a mida i aplicacions a mida especialitzada en solucions tecnològiques modernes. Oferim serveis en intel·ligència artificial, ciberseguretat, serveis cloud AWS i Azure, serveis d'intel·ligència de negoci i implementació de Power BI. Dissenyem programari a mida per a empreses que necessiten transformar processos amb IA per a empreses, agents IA i arquitectures distribuïdes.
Què podem aportar a projectes similars: consultoria en arquitectura distribuïda, desenvolupament de microserveis amb bones pràctiques d'observabilitat, integració de missatgeria com RabbitMQ, desplegament en serveis cloud AWS i Azure, implantació de solucions d'intel·ligència artificial per millorar processos i creació de dashboards amb Power BI per a intel·ligència de negoci
Paraules clau per millorar el posicionament: aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud AWS i Azure, serveis intel·ligència de negoci, IA per a empreses, agents IA, Power BI
Si vols que Q2BSTUDIO col·labori en l'evolució d'aquest prototip o en el desenvolupament d'una solució a mida, contacta'ns per dissenyar una proposta que inclogui seguretat, escalabilitat i explotació de dades mitjançant intel·ligència de negoci
Si tenen dubtes o suggeriments de millora, deixin els seus comentaris i en la pròxima publicació compartiré la implementació detallada de cada mòdul i la configuració de la comunicació entre ells




