Sufficit.Blazor
1.26.419.1521
dotnet add package Sufficit.Blazor --version 1.26.419.1521
NuGet\Install-Package Sufficit.Blazor -Version 1.26.419.1521
<PackageReference Include="Sufficit.Blazor" Version="1.26.419.1521" />
<PackageVersion Include="Sufficit.Blazor" Version="1.26.419.1521" />
<PackageReference Include="Sufficit.Blazor" />
paket add Sufficit.Blazor --version 1.26.419.1521
#r "nuget: Sufficit.Blazor, 1.26.419.1521"
#:package Sufficit.Blazor@1.26.419.1521
#addin nuget:?package=Sufficit.Blazor&version=1.26.419.1521
#tool nuget:?package=Sufficit.Blazor&version=1.26.419.1521
Sufficit Blazor Server
Aplicação Blazor Server para gerenciamento de IVR (Interactive Voice Response) da plataforma Sufficit.
📋 Visão Geral
Esta aplicação fornece uma interface web moderna para configuração e gerenciamento de sistemas IVR, permitindo aos usuários criar, editar e testar menus de voz interativos de forma intuitiva.
🚀 Funcionalidades
- Interface Web Moderna: Interface responsiva baseada em Blazor Server
- Gerenciamento de IVR: Criação e edição de menus de voz interativos
- Teste em Tempo Real: Possibilidade de testar IVRs diretamente na interface
- Integração com APIs: Conexão com serviços Sufficit para dados e funcionalidades
- Autenticação Segura: Integração com sistema de identidade Sufficit
�️ Tecnologias Utilizadas
- .NET 9.0: Framework principal
- Blazor Server: Framework web para interfaces interativas
- MudBlazor: Componentes UI modernos
- Sufficit.Client: Biblioteca de cliente para APIs Sufficit
- SignalR: Comunicação em tempo real (opcional)
📋 Pré-requisitos
- .NET 9.0 SDK
- Acesso aos serviços Sufficit (APIs)
- Navegador web moderno com suporte a WebSockets
🚀 Deployment
Estrutura de Arquivos
sufficit-blazor/
├── config.json # Configuração de deployment
├── deploy.py # Script de deployment automatizado
├── server/publish/ # Artefatos compilados usados no deploy
├── helpers/ # Scripts auxiliares e configuração systemd
│ ├── sufficit-blazor-server.service
│ ├── prestart.sh
│ ├── install.sh
│ ├── update.sh
│ ├── syslog.conf
│ └── README.md
└── README.md # Este arquivo
Servidores Disponíveis
eveo-apps- Servidor principal de aplicaçõesapoint-apps- Servidor secundário de aplicaçõescastrum-apps- Servidor terciário de aplicações
Porta de Serviço
- Porta: 26508
- Protocolo: HTTPS
- Health Check:
https://localhost:26508/health
Como Fazer Deploy
Preparar Artefatos:
# No diretório do projeto dotnet publish server/Sufficit.Blazor.Server.csproj --configuration Release --output server/publishExecutar Deployment:
# Deploy para servidor específico python deploy.py eveo-apps # ou python deploy.py apoint-apps # ou python deploy.py castrum-appsVerificar Status:
# Verificar se o serviço está rodando systemctl status sufficit-blazor-server # Verificar logs tail -f /var/log/sufficit/blazor-server.log # Testar health check curl -k https://localhost:26508/health
Configuração do Serviço
O serviço é configurado automaticamente pelo script install.sh e inclui:
- SystemD Service:
sufficit-blazor-server.service - Diretório:
/opt/sufficit-blazor-server/ - Usuário:
dotnetuser - Logs:
/var/log/sufficit/blazor-server.log
Para hosts já provisionados, o deploy reaplica o install.sh quando detecta que a unit do systemd não está mais apontando para o helper implantado em /opt/sufficit-blazor-server/helpers/.
Certificado SSL
O certificado SSL é atualizado automaticamente pelo script prestart.sh:
- Fonte:
/etc/letsencrypt/live/sufficit.com.br/certificate.pfx - Destino:
/opt/sufficit-blazor-server/certificate.pfx
� Desenvolvimento
Configuração Local
Clonar o repositório:
git clone <repository-url> cd sufficit-blazorRestaurar dependências:
dotnet restoreExecutar aplicação:
# Para desenvolvimento dotnet run --project server/Sufficit.Blazor.Server.csproj # Para watch mode (hot reload) dotnet watch run --project server/Sufficit.Blazor.Server.csprojAcessar aplicação:
- URL:
https://localhost:5001(ou porta configurada) - Health Check:
https://localhost:5001/health
- URL:
Estrutura do Projeto
server/ # Projeto Blazor Server
├── Sufficit.Blazor.Server.csproj
├── Program.cs # Ponto de entrada da aplicação
├── Startup.cs # Configuração de serviços
├── appsettings.json # Configurações da aplicação
├── wwwroot/ # Arquivos estáticos (CSS, JS, imagens)
├── Pages/ # Páginas Razor
├── Components/ # Componentes reutilizáveis
├── Services/ # Serviços da aplicação
└── Data/ # Classes de dados e modelos
client/ # Projeto Blazor Client (se aplicável)
shared/ # Código compartilhado
📊 Monitoramento
Health Checks
A aplicação inclui vários health checks:
- Geral:
/health- Status geral da aplicação - Detalhado:
/health/ready- Verificação de dependências - UI:
/health/ui- Interface web para monitoramento
Logs
- Arquivo:
/var/log/sufficit/blazor-server.log - Syslog Tag:
[sufficit][blazor-server] - Nível: Configurado via
appsettings.json
Métricas
A aplicação expõe métricas via endpoint /metrics (se configurado).
� Segurança
- HTTPS Only: Toda comunicação é feita via HTTPS
- Autenticação: Integração com Sufficit Identity
- CORS: Configurado para domínios autorizados
- Rate Limiting: Proteção contra abuso da API
📞 Suporte
- Desenvolvimento: development@sufficit.com.br
- Produção: suporte@sufficit.com.br
- Documentação: Wiki Interna
📄 Licença
Todos os direitos reservados © 2025 Sufficit Soluções em Tecnologia da Informação
Example of using a Card and Button component:
<SufficitCard>
<CardHeader>
Welcome!
</CardHeader>
<CardBody>
<p>This is a sample card component from the Sufficit.Blazor library.</p>
<SufficitButton Color="ButtonColor.Primary" OnClick="@OnButtonClick">
Click Me
</SufficitButton>
</CardBody>
</SufficitCard>
@code {
private void OnButtonClick()
{
Console.WriteLine("Button was clicked!");
}
}
🤝 Contributing
Contributions are greatly appreciated. Please follow the standard fork and pull request workflow.
📄 License
Distributed under the MIT License. See LICENSE for more information.
📧 Contact
Sufficit - contato@sufficit.com.br
Project Link: https://github.com/sufficit/sufficit-blazor
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Blazored.LocalStorage (>= 4.5.0)
- FluentValidation (>= 12.0.0)
- Microsoft.AspNetCore.Authentication (>= 2.3.9)
- Microsoft.AspNetCore.Authentication.Abstractions (>= 2.3.9)
- Microsoft.AspNetCore.Authentication.Cookies (>= 2.3.9)
- Microsoft.AspNetCore.Authentication.Core (>= 2.3.9)
- Microsoft.AspNetCore.Components.Authorization (>= 9.0.15 && < 10.0.0)
- Microsoft.AspNetCore.Components.Web (>= 9.0.15 && < 10.0.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.3.9)
- Microsoft.AspNetCore.Mvc.RazorPages (>= 2.3.0)
- Microsoft.AspNetCore.SignalR.Client (>= 9.0.15 && < 10.0.0)
- Microsoft.AspNetCore.SignalR.Client.Core (>= 9.0.15 && < 10.0.0)
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.Hosting (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.Http (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.Logging (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.15 && < 10.0.0)
- Microsoft.Extensions.Options (>= 9.0.15 && < 10.0.0)
- Microsoft.JSInterop (>= 9.0.15 && < 10.0.0)
- MudBlazor (>= 9.3.0)
- MudBlazor.ThemeManager (>= 4.0.0)
- Sufficit.Asterisk.Core (>= 1.26.327.2020)
- Sufficit.Asterisk.Manager (>= 1.26.327.2020)
- Sufficit.Base (>= 1.26.417.1532)
- Sufficit.Client (>= 1.26.417.1527)
- Sufficit.Gateway.FluxTelecom.SMS (>= 1.26.413.2157)
- Sufficit.Identity.Client (>= 1.26.401.1425)
- Sufficit.Identity.Core (>= 1.26.327.2021)
- Sufficit.Json (>= 1.26.327.2021)
- Sufficit.Telephony.EventsPanel (>= 1.26.327.2021)
- Sufficit.Telephony.EventsPanel.Components (>= 1.26.327.2021)
- Sufficit.Telephony.JsSIP (>= 1.26.327.2021)
- Sufficit.Utils (>= 1.26.416.417)
- System.Text.Encodings.Web (>= 9.0.15 && < 10.0.0)
- System.Text.Json (>= 9.0.15 && < 10.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Sufficit.Blazor:
| Package | Downloads |
|---|---|
|
Sufficit.Blazor.Client
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.26.419.1521 | 102 | 4/19/2026 |
| 1.26.415.1512 | 92 | 4/15/2026 |
| 1.26.415.352 | 87 | 4/15/2026 |
| 1.26.415.330 | 95 | 4/15/2026 |
| 1.26.415.319 | 81 | 4/15/2026 |
| 1.26.415.147 | 97 | 4/15/2026 |
| 1.26.415.138 | 98 | 4/15/2026 |
| 1.26.331.1933 | 97 | 3/31/2026 |
| 1.26.328.2150 | 117 | 3/28/2026 |
| 1.26.328.2142 | 120 | 3/28/2026 |
| 1.26.326.1355 | 93 | 3/26/2026 |
| 1.26.324.220 | 94 | 3/24/2026 |
| 1.26.319.2239 | 94 | 3/19/2026 |
| 1.26.318.1902 | 89 | 3/18/2026 |
| 1.26.318.1835 | 94 | 3/18/2026 |
| 1.26.316.2043 | 100 | 3/16/2026 |
| 1.26.316.2036 | 101 | 3/16/2026 |
| 1.26.314.1943 | 99 | 3/14/2026 |
| 1.26.313.2117 | 96 | 3/13/2026 |
| 1.26.313.246 | 94 | 3/13/2026 |