Esta es una aplicación de chat en tiempo real desarrollada con Blazor, LIN Auth para la autenticación, LIN Communication Services como servidor en tiempo real y LIN Maps para la integración de mapas. La aplicación permite a los usuarios enviar mensajes, crear grupos, enviar imágenes, ubicaciones y mapas.
- Autenticación de usuarios utilizando LIN Auth.
- Chat en tiempo real utilizando LIN Communication Services.
- Posibilidad de crear grupos de chat.
- Envío de mensajes de texto en tiempo real.
- Envío de imágenes (En desarrollo)
- Compartir ubicación y mostrar mapas utilizando LIN Maps (En desarrollo).
Asegúrate de tener instalado lo siguiente:
- .NET 8 SDK
- Servidores de LIN Auth y Communication y tipos asociados.
Allo es una sola aplicación Blazor que se publica como sitio web y como app nativa (Windows y Android; iOS y Mac Catalyst solo compilan en macOS).
| Proyecto | Rol |
|---|---|
LIN.Allo.App |
Núcleo compartido (RCL): Routes, páginas, layout, estilos (Tailwind), registro de servicios AddAlloApp(). |
LIN.Allo |
Cabecera web: host ASP.NET Core con prerender. Aloja Routes con InteractiveWebAssembly. |
LIN.Allo.Client |
Cabecera WebAssembly: solo Program.cs. |
LIN.Allo.Maui |
Cabecera nativa: MAUI + BlazorWebView. |
Reglas: las cabeceras solo arrancan el runtime, registran servicios de plataforma y alojan Routes; todo servicio común entra por AddAlloApp(); las páginas no llevan @rendermode (el modo lo decide la cabecera, y el WebView de MAUI lanza excepción si una página lo declara).
# Estilos (Tailwind). tailwind.css no está en git: generarlo antes de compilar.
cd LIN.Allo/LIN.Allo.App
npm install
npm run css:build
# Web
dotnet run --project LIN.Allo/LIN.Allo/LIN.Allo.csproj
# Windows
dotnet build LIN.Allo/LIN.Allo.Maui/LIN.Allo.Maui.csproj -f net10.0-windows10.0.19041.0
# Android
dotnet build LIN.Allo/LIN.Allo.Maui/LIN.Allo.Maui.csproj -f net10.0-androidLos assets que las librerías compartidas piden en la raíz del sitio (favicon.svg, img/meet*.png, EmmaAssets/*.png) están duplicados en wwwroot/ de LIN.Allo y LIN.Allo.Maui. El resto de assets viven en LIN.Allo.App/wwwroot y se sirven desde _content/LIN.Allo.App/. La lista de <link>/<script> de Components/App.razor y LIN.Allo.Maui/wwwroot/index.html está duplicada: mantenerlas alineadas.

