Sistema completo de cadastro e consulta de propriedades turísticas desenvolvido em ASP.NET Core com Razor Pages
O CityBreaks Portal é uma aplicação web moderna que simula um sistema real de reservas turísticas, demonstrando domínio completo do ecossistema .NET para desenvolvimento web. O projeto implementa desde conceitos básicos até técnicas avançadas de persistência de dados e arquitetura de software.
- Configuração completa do Entity Framework Core
- Modelagem relacional (1:N) entre Country → City → Property
- Sistema de migrações automatizado
- Configurações avançadas com Fluent API
- Validação e constraints de dados
- Seed Data para população inicial
- Serviços com consultas otimizadas (Include/ThenInclude)
- Páginas dinâmicas com parâmetros de URL
- Formulários seguros com validação server-side
- Sistema de Soft Delete para auditoria
- Filtros dinâmicos e consultas complexas
CityBreaks.Web/
├── 📁 Data/
│ ├── CityBreaksContext.cs # DbContext principal
│ └── 📁 Configurations/ # Fluent API configurations
│ ├── CountryConfiguration.cs
│ ├── CityConfiguration.cs
│ └── PropertyConfiguration.cs
├── 📁 Models/ # Entidades de domínio
│ ├── Country.cs # Países
│ ├── City.cs # Cidades
│ └── Property.cs # Propriedades turísticas
├── 📁 Services/ # Camada de negócio
│ ├── ICityService.cs
│ ├── CityService.cs
│ └── PropertyService.cs
└── 📁 Pages/ # Interface Razor Pages
- .NET 8.0 SDK
- SQL Server LocalDB ou instância completa
- Visual Studio 2022 ou VS Code
# Clone o repositório
git clone https://github.com/acadl-dev/DotNetWebTP3-ASP.NET-Core-Razor-Pages.git
# Navegue até o diretório
cd CityBreaks.Web/
# Execute a aplicação
dotnet run
- URL:
https://localhost:5001
- Arquitetura Limpa Separação clara de responsabilidades com Data, Models e Services
- Entity Framework Core Implementação completa com Code First, Migrations e Fluent API
- Design Patterns Repository Pattern, Dependency Injection e Service Layer
- Segurança de Dados Validação robusta com TryUpdateModel e proteção contra over-posting
- Performance: Lazy Loading otimizado e consultas eficientes com LINQ
- Soft Delete Implementação de exclusão lógica para auditoria e recuperação de dados
- API REST: Exposição de endpoints para integração mobile
- Autenticação: Sistema de usuários com ASP.NET Identity
- Cache: Implementação com Redis para alta performance
- Testes: Cobertura completa com xUnit e Moq
- Docker: Containerização para deploy simplificado
O dashboard apresenta métricas calculadas dinamicamente:
- Agregação de dados em tempo real
- Filtros por status automatizados
- Cálculos financeiros precisos
- Ordenação cronológica inteligente
Este projeto foi desenvolvido como trabalho prático da disciplina de Desenvolvimento Back-end, demonstrando:
- Aplicação prática de conceitos teóricos
- Resolução de problemas do mundo real
- Arquitetura escalável e mantível
- Boas práticas de desenvolvimento
⭐ Se este projeto foi útil, considere dar uma estrela no repositório!