Chicas Eventos é uma aplicação web de e-commerce robusta e completa, desenvolvida como um projeto para clientes. A plataforma é um sistema real para uma empresa de organização de eventos, permitindo que os clientes explorem um catálogo de serviços, montem um carrinho de compras personalizado e enviem um pedido de orçamento detalhado, que é automaticamente encaminhado por e-mail para a equipe de vendas.
O projeto foi construído utilizando a stack de tecnologias da Microsoft, com ASP.NET Core MVC, e foi totalmente containerizado com Docker, demonstrando práticas modernas de desenvolvimento e deployment.
- Catálogo de Serviços Dinâmico: Apresentação de diferentes categorias de serviços (Buffet, Cerimonial, Audiovisual, RH) com páginas de detalhes para cada item.
- Carrinho de Compras Interativo: Os usuários podem adicionar, remover e visualizar serviços e pacotes em um carrinho de compras persistente na sessão, construído com JavaScript e atualizações parciais via Razor Views.
- Formulário de Orçamento: Um formulário de múltiplos passos onde o cliente preenche suas informações de contato e detalhes do evento.
- Notificação por E-mail: Ao submeter um orçamento, o sistema utiliza a biblioteca MailKit para formatar e enviar um e-mail transacional via SMTP, contendo todos os detalhes do pedido para a equipe comercial.
- Design Responsivo: Interface construída com Bootstrap, garantindo uma experiência de usuário consistente em desktops e dispositivos móveis.
A aplicação foi projetada com uma arquitetura limpa e desacoplada, seguindo as melhores práticas de desenvolvimento de software.
-
Padrão MVC (Model-View-Controller): A estrutura do projeto segue o padrão MVC do ASP.NET Core, garantindo uma separação clara de responsabilidades:
Models: Contém os ViewModels (OrderFormViewModel,CartItemModel, etc.) que estruturam os dados para as views e para a transferência de informações.Views: Páginas Razor (.cshtml) que compõem a UI, com forte uso de Partials para componentização e reutilização de código (ex:_CartItemsListPartial.cshtml).Controllers: Orquestram o fluxo de requisições, manipulam a lógica de negócio e interagem com os serviços.
-
Injeção de Dependência (DI): O sistema de DI nativo do ASP.NET Core é utilizado para gerenciar o ciclo de vida de serviços, como o
EmailService, promovendo baixo acoplamento e alta testabilidade. -
Camada de Serviço: A lógica de envio de e-mails e o acesso a dados estáticos são abstraídos em serviços (
EmailService,StaticDataServices), isolando as responsabilidades e tornando os controllers mais enxutos. -
Containerização com Docker: O projeto inclui um
Dockerfileconfigurado para construir uma imagem otimizada da aplicação ASP.NET Core. Isso demonstra proficiência em práticas de DevOps, facilitando o deployment, a escalabilidade e a portabilidade da aplicação em qualquer ambiente que suporte Docker. -
Configuração Centralizada: As configurações da aplicação, como os dados do servidor SMTP (
EmailSettings), são gerenciadas através doappsettings.json, permitindo fácil alteração entre ambientes (desenvolvimento, produção) sem a necessidade de recompilar o código.
| Categoria | Tecnologia |
|---|---|
| Backend | ASP.NET Core 6+ (MVC), C# |
| Frontend | HTML5, CSS3, JavaScript (ES6), Razor Views, Bootstrap 5, jQuery |
| MailKit (Biblioteca .NET para SMTP) | |
| DevOps | Docker |
| Servidor | Kestrel |
Existem duas maneiras principais de executar a aplicação em um ambiente local.
Este é o método mais simples e rápido, pois abstrai todas as dependências do ambiente.
Pré-requisitos:
- Docker Desktop instalado e em execução.
Passos:
- Clone o repositório.
- Abra um terminal na raiz do projeto.
- Construa a imagem Docker:
docker build -t chicaseventos . - Execute o container:
docker run --rm -p 8080:80 chicaseventos
- Acesse a aplicação em seu navegador:
http://localhost:8080.
Pré-requisitos:
- .NET SDK 6.0 ou superior.
Passos:
- Clone o repositório.
- Configure as credenciais de SMTP no arquivo
appsettings.Development.jsonpara que a funcionalidade de envio de e-mail funcione. Crie o arquivo se ele não existir, seguindo a estrutura doEmailSettings.cs:{ "EmailSettings": { "SmtpServer": "seu-servidor-smtp", "Port": 587, "Username": "seu-email", "Password": "sua-senha", "SenderName": "Chicas Eventos", "SenderEmail": "seu-email" } } - Abra um terminal na raiz do projeto.
- Restaure as dependências:
dotnet restore
- Execute a aplicação:
dotnet run
- Acesse a aplicação no endereço indicado no terminal (geralmente
http://localhost:5000ouhttps://localhost:5001).