Skip to content

About

API REST de catálogo de carros desenvolvida em C# com ASP.NET Core, Entity Framework Core e SQL Server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🚗 Catálogo de Carros API

API REST desenvolvida em C# e ASP.NET Core para gerenciamento de um catálogo de veículos.

O projeto foi desenvolvido como atividade acadêmica no SENAI, com o objetivo de praticar desenvolvimento de APIs, operações CRUD, banco de dados e Entity Framework Core.


📌 Sobre o projeto

A API permite cadastrar, consultar, atualizar e remover veículos de um catálogo.

Cada carro possui uma marca e pode estar associado a uma ou mais categorias.

O projeto utiliza SQL Server para persistência dos dados e Entity Framework Core para comunicação com o banco.


🛠️ Tecnologias utilizadas

  • C#
  • .NET 8
  • ASP.NET Core
  • Entity Framework Core
  • SQL Server
  • Swagger / OpenAPI

✨ Funcionalidades

  • Listagem de carros
  • Consulta de carro por ID
  • Cadastro de carros
  • Atualização de carros
  • Exclusão de carros
  • Filtro de carros por modelo
  • Cadastro associado a marcas e categorias
  • Validação dos dados recebidos
  • Documentação e testes da API através do Swagger

🗃️ Modelagem

O projeto possui as seguintes entidades:

Marca
Carro
Categoria
CarroCategoria

Relacionamentos

Marca 1 ───────── N Carro

Carro 1 ───── N CarroCategoria N ───── 1 Categoria

Uma marca pode possuir vários carros.

Um carro pode pertencer a várias categorias e uma categoria pode estar associada a vários carros.


🌐 Endpoints principais

Método Endpoint Descrição
GET /api/carros Lista os carros
GET /api/carros/{id} Busca um carro por ID
POST /api/carros Cadastra um carro
PUT /api/carros/{id} Atualiza um carro
DELETE /api/carros/{id} Remove um carro

Também é possível filtrar pelo modelo:

GET /api/carros?modelo=corolla

📦 Exemplo de cadastro

{
  "modelo": "Yaris",
  "ano": 2025,
  "cor": "Branco",
  "preco": 112990.00,
  "marcaId": 1,
  "categoriaIds": [3]
}

📁 Estrutura do projeto

Catalogo-Carros-API/
│
├── Controllers/
├── Data/
├── DTOs/
├── Entities/
├── Migrations/
├── Properties/
│
├── Program.cs
├── appsettings.json
└── CatalogoCarros.Api.csproj

Principais responsabilidades

  • Controllers: recebem e processam as requisições HTTP.
  • DTOs: controlam os dados recebidos e retornados pela API.
  • Entities: representam as entidades do banco de dados.
  • Data: contém o AppDbContext.
  • Migrations: controla a criação e alterações da estrutura do banco.

⚙️ Como executar

Pré-requisitos

  • .NET 8 SDK
  • SQL Server
  • Entity Framework CLI

Clone o repositório:

git clone https://github.com/eduardogil-byte/Catalogo-Carros-API.git

Entre na pasta:

cd Catalogo-Carros-API

Restaure as dependências:

dotnet restore

Atualize o banco de dados:

dotnet ef database update

Execute a aplicação:

dotnet run

Depois, acesse o endereço do Swagger exibido no terminal para visualizar e testar os endpoints.


🎯 Conceitos praticados

Durante o desenvolvimento foram praticados conceitos como:

  • APIs REST
  • CRUD
  • Programação assíncrona com async e await
  • Entity Framework Core
  • Migrations
  • DTOs
  • Injeção de dependência
  • Relacionamentos 1:N e N:N
  • Validação de dados
  • Códigos de status HTTP
  • Integração com SQL Server

🎓 Contexto

Projeto acadêmico desenvolvido durante os estudos no SENAI, com foco no aprendizado dos fundamentos de desenvolvimento backend utilizando C# e ASP.NET Core.


👨‍💻 Autor

Eduardo Machado Gil

GitHub: @eduardogil-byte

About

API REST de catálogo de carros desenvolvida em C# com ASP.NET Core, Entity Framework Core e SQL Server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages