eCommerce ASP.NET Core MVC

Este projeto foi criado com base no que aprendi no curso Udemy "ASP.NET CORE MVC | Build a Complete eCommerce App". O curso é ministrado por Ervis Trupja e está disponível aqui.

Descrição

Este projeto é uma aplicação eCommerce baseada em ASP.NET Core MVC que utiliza um banco de dados SQL e o Entity Framework para armazenar e gerenciar os dados. Ele também inclui a integração de pagamentos com o PayPal, autenticação baseada em cookies e renderização de interface de usuário com base em funções.

Características Principais

  • Modelos vs. ViewModels: O projeto distingue entre modelos e ViewModels para melhor representar os dados e as necessidades da interface do usuário.

  • Views vs. PartialViews: Utilização de Views e PartialViews para criar uma experiência de usuário consistente e dinâmica.

  • Configuração do SQL Server com Entity Framework: O banco de dados SQL é configurado e gerenciado com o Entity Framework.

  • Entity Framework Migrations: Utilização de migrações do Entity Framework para controlar as alterações no esquema do banco de dados.

  • Operações CRUD com Entity Framework: Adição, consulta, atualização e exclusão de dados do banco de dados SQL usando o Entity Framework.

  • Trabalho com dados relacionais e não relacionais: Além do SQL, o projeto também demonstra como trabalhar com dados relacionais e não relacionais.

  • Injeção de Dependência: Utilização de injeção de dependência para manter o código desacoplado e fácil de testar.

  • Ciclos de Vida das Dependências: Gerenciamento das dependências com diferentes ciclos de vida, como Singleton, Transient e Scoped.

  • Serviços/Repositórios Genéricos: Implementação de serviços e repositórios genéricos para tarefas comuns, como criação, leitura, atualização e exclusão de dados.

  • Vinculação e Validação de Modelos: Utilização de vinculação de modelos e validação para garantir a integridade dos dados.

  • Roteamento: Configuração de roteamento para direcionar as solicitações para os controladores apropriados.

  • Autenticação Baseada em Cookies: Implementação de autenticação baseada em cookies para proteger áreas restritas do aplicativo.

  • Autorização Baseada em Funções: Utilização de autorização baseada em funções para controlar o acesso às diferentes partes do aplicativo.

  • Renderização de UI Baseada em Funções: Exibição dinâmica de elementos de interface do usuário com base nas funções do usuário.

  • Renderização Dinâmica com ViewComponents: Utilização de ViewComponents para renderizar conteúdo dinâmico de maneira eficiente.

  • Pagamentos Online com PayPal SDK: Integração do PayPal SDK para aceitar pagamentos online.

Dependências Requeridas

Certifique-se de instalar as seguintes dependências antes de executar o projeto:

  • Microsoft.AspNetCore.Identity
  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Design
  • Microsoft.EntityFrameworkCore.SqlServer
  • Microsoft.EntityFrameworkCore.Tools
  • Microsoft.AspNetCore.Authentication.Cookies
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore --version 7.0.13

Além disso, é necessário instalar a ferramenta do Entity Framework com os seguintes comandos:

dotnet tool uninstall --global dotnet-ef
dotnet tool install --global dotnet-ef

Após a instalação das dependências, execute as migrações do Entity Framework e atualize o banco de dados com os seguintes comandos:

dotnet ef migrations add Initial
dotnet ef database update

Executando o Projeto

Para executar o projeto, siga estas etapas:

  1. Clone este repositório para sua máquina local.
  2. Certifique-se de ter todas as dependências instaladas, conforme mencionado acima.
  3. Configure as configurações do banco de dados no arquivo appsettings.json.
  4. Abra o terminal na pasta do projeto e execute dotnet run.
  5. Acesse o aplicativo em seu navegador da web em http://localhost:5000.

 

Código no Github