Este é um ASP.NET BASIC ASP.NET 8 e APLICAÇÃO ANGULAR DE 17. O aplicativo é baseado no modelo de projeto 'Angular e ASP.NET Core' no Visual Studio 2022. O objetivo era usar o Devexpress 'Devextreme Model Gallery Application Angular Application e usá -lo como o lado do cliente de um aplicativo ASP.NET para demonstrar uma linha de negócios (Lob).
Notei a maioria, se não todos os aplicativos ASP.NET no GitHub, não possui uma interface do usuário ou use uma interface do usuário muito simplista. Eu decidi que alguém deveria mostrar uma boa interface do usuário.
A interface do usuário original obtém todos os seus dados dos Serviços da Web Devexpress. Copiei e modifiquei sua versão angular para que ela seja executada como parte do aplicativo ASP.NET como parte do cliente da Web. A seção 'Lista de contatos' agora obtém seus dados do back -end do ASP.NET, que o retira do banco de dados. O objetivo era fazer o mesmo tipo de conversão para o restante da interface do usuário, mas parei a curto e mudei para me concentrar no Blazor. O back -end é baseado no padrão de arquitetura limpa e no mesmo fluxo de extremidade do ponto final -> Serviços -> Repositório -> O banco de dados pode ser aplicado ao restante do aplicativo usando a mesma convenção.
O aplicativo não implementa nenhuma autenticação, autorização, log, contêineres. etc. Para implementar esses recursos, consulte JasontayLordev/CleanChitecture para obter alguma inspiração e implementação.
A interface do usuário é baseada no Devexpress 'Devextreme, que é uma suíte de componente de interface do usuário de destaque e polido e a galeria de demonstração foi uma boa demonstração. Eu recomendo. O Devextreme é gratuito para aplicações não comerciais e requer uma licença para aplicativos comerciais.
Instruções para configurar o banco de dados:
- A primeira etapa é configurar o banco de dados. O aplicativo usa o SQL Server. Se você estiver usando o SQL Server 2019 ou superior, poderá simplesmente restaurar o banco de dados do arquivo de backup, dxfullapp.bak, na pasta 'Misc_files' no projeto de infraestrutura.
- Caso contrário, execute o script dxfullapp.sql que está na pasta 'Misc_files' para criar e preencher o banco de dados com dados. Edite o arquivo, se necessário, para atualizar os valores do nome do arquivo para os caminhos adequados da instalação do seu SQL Server em seu sistema.
- Atualize o valor DefaultConnectionString, se necessário no arquivo appSsettings.json no projeto do servidor.
Instruções para executar o aplicativo:
- (Há um problema em que a solução leva vários minutos para carregar no VS 2022. Ainda não tenho certeza se for um problema local.)
- Depois de configurar o banco de dados e a sequência de conexão, faça do projeto do servidor o projeto de inicialização. Execute o aplicativo e ele iniciará o navegador com a página carregada com contatos. A página inicial mostrará uma página quebrada e depois atualiza e renderá corretamente. Isso deve ser corrigido.
Para fazer a lista (atualmente nenhum plano para finalizá -los):
- Converta toda a interface do usuário para usar o back -end do ASP.NET em vez dos pontos finais do Devexpress.
- Crie todos os DTOs para servir o cliente e mapear as entidades para eles. (usando o AutomApper ou Mapter, se isso for preferido).
- Adicione a unidade, funcional, integração e testes pontuais.
- A interface do usuário não faz atualizações como salvar as edições ou criar novos objetos. Implementar isso.
- Adicione autenticação, autorização, log, verificações de saúde .. etc.
- Experimente APIs mínimas em vez de APIs baseadas em controlador.
- O cliente angular, enquanto estiver na versão 17, ele realmente não usa nenhum dos recursos específicos da versão. Tudo o que fiz foi convertê -lo da versão 15 para 17.
Por que Devextreme:
- Possui dezenas de componentes da interface do usuário de alta qualidade, polidos e extensíveis, que suportam nativamente o angular, reagir, vue, jQuery e JavaScript simples.
- Excelente suporte técnico e documentação. Online com demos personalizáveis em tempo real que mostram os recursos de cada componente.
- Grade de dados responsivos poderosos e móveis. O preço de toda a suíte é menor que o preço de outro componente popular da UI apenas uma grade.
- Embora custe dinheiro, a longo prazo, economizará muito dinheiro, cortando custos de desenvolvimento e suporte ao tempo versus usando uma mistura de componentes da interface do usuário de código aberto que funcionam, se comporta e olham inconsistentemente. Use componentes que uma empresa ganha a vida em vez de depender do tempo livre de um desenvolvedor ou da comunidade.
- PS: Não sou afiliado à Devexpress, além de ser um cliente feliz. Estou apenas expressando minhas opiniões pessoais.
- Aproveite a codificação!