Skip to content

GeovannaCassia/CarBest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

CarBest — Sistema de Locação (Estacionamento) 🚗🔑

Projeto de exemplo para gerenciamento de locações/estacionamento, com backend em ASP.NET Core (.NET 8) e frontend em Nuxt/Vue 3.

🧭 Visão geral

  • 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.

✨ Funcionalidades principais

  • CRUD de Clientes, Veículos, Fabricantes, Funcionários.
  • Gerenciamento de Alugueis com 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.

🏗️ Arquitetura

  • 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.cs por string de conexão).

📦 Modelos (resumo)

  • ClienteId, CPF, NomeCompleto, Email, Telefone, lista de Alugueis.
  • VeiculoId, Modelo, AnoDeFabricacao, IdDFabricante, Quilometragem, relacionamento com Fabricante e Alugueis.
  • FabricanteId, Nome, Origem, AnoDeFundação, lista de Veiculos.
  • FuncionarioId, CPF, Nome, Cargo, EmailCorporativo, lista de Alugueis.
  • AluguelId, IdCliente, IdVeiculo, IdFuncionario, DataDeRetirada, DataDeDevolucao, KMInicial, KMFinal, CustoDiario, CustoTotal.

🔌 Endpoints principais (exemplos)

  • 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].

✨Figma

⚙️ Como rodar (desenvolvimento)

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 use appsettings.json.
  • O projeto cria o banco automaticamente com db.Database.EnsureCreated() ao iniciar. Se preferir usar migrations, você pode aplicar/gerenciar via dotnet ef (o projeto contém migrations em Migrations/).

Frontend:

cd frontend
npm install
npm run dev
  • O frontend usa Nuxt 4 e depende de @nuxtjs/tailwindcss e @nuxt/image.
  • A configuração principal está em nuxt.config.ts.

About

Projeto de exemplo para gerenciamento de locações/estacionamento, com backend em ASP.NET Core (.NET 8) e frontend em Nuxt/Vue 3.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors