Projeto de exemplo para gerenciamento de locações/estacionamento, com backend em ASP.NET Core (.NET 8) e frontend em Nuxt/Vue 3.
- Objetivo: Permitir CRUD de clientes, veículos, fabricantes, funcionários e aluguel de veículos.
- Stack: Backend: C#, ASP.NET Core, Entity Framework Core, SQL Server.
- Frontend: Nuxt 4 (Vue 3), TailwindCSS.
- CRUD de
Clientes,Veículos,Fabricantes,Funcionários. - Gerenciamento de
Alugueiscom cálculo de custos e histórico. - Endpoints que retornam dados com joins (ex.: veículos com fabricante, clientes com seus aluguéis, aluguéis com detalhes).
- CORS habilitado para permitir consumo pela interface frontend.
- Backend: API REST criada com ASP.NET Core. Usa
ApplicationContext(EF Core) para mapear as entidades. - Frontend: SPA com Nuxt (modo server-side/híbrido) consumindo a API.
- Banco: SQL Server (configuração no
Program.cspor string de conexão).
Cliente—Id,CPF,NomeCompleto,Email,Telefone, lista deAlugueis.Veiculo—Id,Modelo,AnoDeFabricacao,IdDFabricante,Quilometragem, relacionamento comFabricanteeAlugueis.Fabricante—Id,Nome,Origem,AnoDeFundação, lista deVeiculos.Funcionario—Id,CPF,Nome,Cargo,EmailCorporativo, lista deAlugueis.Aluguel—Id,IdCliente,IdVeiculo,IdFuncionario,DataDeRetirada,DataDeDevolucao,KMInicial,KMFinal,CustoDiario,CustoTotal.
-
GET /api/veiculo— lista veículos -
GET /api/veiculo/{id}— obtém veículo -
GET /api/veiculo/com-fabricante— veículos com nome do fabricante -
POST /api/veiculo— cria veículo (requer fabricante existente) -
GET /api/cliente— lista clientes -
GET /api/cliente/{id}— obtém cliente -
GET /api/cliente/clientes-e-alugueis— clientes com contagem/itens de aluguéis -
GET /api/aluguel— lista aluguéis -
GET /api/aluguel/detalhes— aluguéis com cliente e veículo -
POST /api/aluguel— cria aluguel (valida veículo e datas)
Observação: todos os controllers seguem a rota base
api/[controller].
-
🔗Segue Link do figma: FIGMA CARBEST
Backend (recomendo usar o terminal na pasta backend):
cd backend
dotnet build
dotnet run- A string de conexão está definida em
Program.cs(ex.:Server=localhost\\;Database=LocadoraCarBest;Trusted_Connection=True;TrustServerCertificate=True;). Ajuste conforme sua instância do SQL Server ou useappsettings.json. - O projeto cria o banco automaticamente com
db.Database.EnsureCreated()ao iniciar. Se preferir usar migrations, você pode aplicar/gerenciar viadotnet ef(o projeto contém migrations emMigrations/).
Frontend:
cd frontend
npm install
npm run dev- O frontend usa Nuxt 4 e depende de
@nuxtjs/tailwindcsse@nuxt/image. - A configuração principal está em
nuxt.config.ts.