Article image
André Fanelli
André Fanelli08/07/2025 23:47
Compartilhe

ASP.NET Core MVC na Prática: Como Estou Construindo um Sistema Web de Inventário

    Introdução

    O “bom e velho” MVC. Algumas pessoas criticam por ser um padrão “ultrapassado”, mas para quem está iniciando, tenho certeza que é um excelente caminho para começar a entender como um projeto deve ser bem estruturado e também um leve introdução sobre arquiteturas e padrões de projeto. 

    Neste artigo, continuo a compartilhar minha experiência na construção do "Inventarium", um sistema de inventário utilizando o framework ASP.NET Core MVC. O objetivo era criar uma aplicação robusta, escalável e de fácil manutenção, aplicando boas práticas do MVC e padrões modernos de desenvolvimento.

    O desafio

    O projeto exigia um sistema web capaz de:

    • Registrar e listar vários tipos de dispositivos (computadores, notebooks, monitores, etc.)
    • Permitir autenticação com diferentes níveis de acesso (Administrador e Leitura)
    • Ser responsivo e intuitivo para uso em diferentes dispositivos
    • Aplicar boas práticas de organização do código

    A arquitetura MVC em ação

    Utilizei a arquitetura Model-View-Controller (MVC) do ASP.NET Core para estruturar a aplicação:

    • Modelos: representaram os dados (por exemplo, CadPc, CadNote) com atributos validados via DataAnnotations.
    • Views: renderizadas com Razor e Bootstrap para criar uma UI responsiva.
    • Controllers: cuidaram da lógica de negócio e interação com o banco de dados via Entity Framework Core.

    Gerenciamento de dependências com Injeção de Dependência (DI)

    O ASP.NET Core possui DI nativo. Aproveitei isso para injetar:

    • ApplicationDbContext para acesso ao banco de dados
    • UserManager e SignInManager para gestão de usuários
    • ITenantProvider para resolver o tenant logado em tempo real

    Camadas bem separadas

    Cada responsável pelo sistema ficou isolado:

    • Controladores apenas controlam
    • Views só exibem informação
    • Modelos definem os dados

    Validação de formulários e Feedback ao usuário

    Usei anotações como [Required], [StringLength], e mensagens de erro personalizadas nas views. Também utilizei o SweetAlert2 para exibir feedback visual ao usuário (ex: sucesso no cadastro ou exclusão).

    Paginas protegidas por roles de usuário

    A ação dos controllers foi protegida com [Authorize(Roles = "Administrator")], separando as permissões entre quem apenas visualiza e quem pode cadastrar/editar/excluir.

    Resultados

    O sistema ficou leve, rápido e fácil de manter. As funcionalidades são distribuídas de forma intuitiva e, com a separação em MVC, fica simples expandir o projeto para novos tipos de dispositivos ou regras de negócio.

    Conclusão

    Trabalhar com ASP.NET Core MVC oferece uma estrutura poderosa, confiável e limpa para desenvolvimento web. Ao respeitar os princípios da arquitetura MVC e boas práticas de código, é possível construir aplicações profissionais mesmo em projetos pessoais.

    Algumas referências:

    Padrões de Projeto : O modelo MVC

    Visão geral do ASP.NET Core MVC

    Compartilhe
    Comentários (0)