Skip to content

Eduxplorer/MvcApp-Razor

Repository files navigation

MvcApp - Catálogo de Produtos

Um projeto de laboratório desenvolvido em ASP.NET Core MVC focado na implementação de operações CRUD utilizando ADO.NET puro (sem ORMs como Entity Framework). O sistema permite o gerenciamento de um catálogo de produtos com upload de imagens.

Nota de Escopo: Este repositório é um estudo de caso sobre manipulação direta de dados via SqlClient e tratamento de formulários multipart em controllers MVC e rotas de API.

💻 Tecnologias Utilizadas

  1. Framework: .NET 9.0 (ASP.NET Core MVC)
  2. Acesso a Dados: ADO.NET (Microsoft.Data.SqlClient)
  3. Frontend UI: Razor Views com Bootstrap 5.
  4. Integração de Arquivos: Upload assíncrono manipulando IFormFile.

⚙️ Arquitetura e Funcionalidades

O projeto explora dois fluxos de comunicação: 9. Fluxo MVC Tradicional: Views renderizadas no servidor (ProdutosController) com validação de formulários e Anti-Forgery Tokens. 10. Endpoints de API: Disponibilização paralela de dados via REST (ProdutosApiController) para consumo por clientes externos (CORS habilitado para Live Server local).

🚀 Como Executar o Projeto

Pré-requisitos

  1. .NET 9.0 SDK.
  2. SQL Server (LocalDB ou Express).

Configuração Crítica (Banco de Dados)

O projeto não utiliza Entity Framework Migrations e possui acesso a dados instanciado manualmente. 13. Crie um banco de dados chamado LojaMvc na sua instância do SQL Server. 14. Execute o script de criação da tabela:

CREATE TABLE Produtos (
 Id INT IDENTITY(1,1) PRIMARY KEY,
 Nome VARCHAR(100) NOT NULL,
 Preco DECIMAL(18,2) NOT NULL,
 Descricao TEXT NOT NULL,
 ImagemUrl VARCHAR(255) NULL
);
  1. Ajuste Obrigatório: Abra o arquivo Data/ProdutoRepository.cs e altere a connectionString para apontar para o seu servidor SQL local. O valor atual aponta estaticamente para um hostname específico e falhará na sua máquina.

Execução

dotnet restore
dotnet run

Acesse http://localhost:5055 no seu navegador.

🚧 Débitos Técnicos (Roadmap)

Este é um projeto em evolução. Os seguintes pontos requerem refatoração para atingir padrões de produção:

  1. Configuração: Extrair a string de conexão de dentro de ProdutoRepository.cs para o appsettings.json e injetá-la via Dependency Injection (DI).
  2. Observabilidade: Implementar logging adequado (ILogger) nos blocos catch do repositório para evitar o silenciamento de exceções críticas do banco de dados.
  3. Storage: Migrar a persistência de imagens da pasta local wwwroot/images para um serviço de armazenamento em nuvem (ex: AWS S3 ou Azure Blob Storage).

About

Sistema de catálogo desenvolvido em ASP.NET Core MVC com ADO.NET puro. Demonstra operações CRUD clássicas e gerenciamento de upload de arquivos estáticos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors