Nome: Car Shop
Descrição: Esta API tem o intuito de representar um catálogo de venda de carros
- Composer
- PHP Versão: >= 8.0
- Laravel Versão: >=10
- Git
- Banco de dados MongoDB
-
Clonar o Repositório do GitHub e Selecionar Diretório
Abra o terminal e execute:
git clone https://github.com/ranyesantos/Car-Shop-API.git
Após clonar, para selecionar o diretório do projeto, execute:
cd Car-Shop-Api
-
Instalar Dependências do PHP
No diretório do projeto, execute:
composer install
-
Configurar Variáveis de Ambiente
Copie o arquivo
.env.example
para.env
com o comando:cp .env.example .env
Edite o arquivo .env com suas configurações de banco de dados e outras variáveis de ambiente necessárias. Por exemplo:
DB_CONNECTION=mongodb DB_HOST=127.0.0.1 DB_PORT=27017 DB_DATABASE=carshop DB_USERNAME=seu_usuario DB_PASSWORD=sua_senha
-
Gerar a Chave da Aplicação
Execute o comando para gerar a chave da aplicação:
php artisan key:generate
-
Execute Migrations e Seeders
Execute as migrations para criar as tabelas no banco de dados
php artisan migrate
Após executar as migrations, popule o banco de dados com o comando:
php artisan db:seed
-
Iniciar o Servidor de Desenvolvimento
Para iniciar o servidor embutido do Laravel, execute o comando:
php artisan serve
- Adicionar Carro
- Listar Carros
- Atualizar Carro
- Excluir Carro
- Pesquisar por Marca
- Pesquisar por Modelo
- Filtrar por Faixa de Preço
- Pesquisar por Placa
- Carros mais Caros
- Carros mais Baratos
- Contar Carros por Marca
- Ordenar Carros por Preço
- Ordenar Carros por Data de Adição
Campo | Tipo | Descrição |
---|---|---|
id | int | Identificador único do carro |
brand | string | Marca do carro |
model | string | Modelo do carro |
value | float | Valor do carro |
license | string | Placa do carro |
color | string | Cor do carro |
Descrição: Retorna uma lista com todos os carros cadastrados
URL: 'api/cars'
Método HTTP: 'GET'
Exemplo de Requisição:
GET api/cars HTTP/1.1
Content-Type: application/json
Exemplo da Resposta:
{
"status": true,
"cars": [
{
"_id": "66ad31ab6a84a29f5e027b62",
"brand": "Chevrolet",
"model": "Onix",
"price": 70000,
"license": "ABC1D23",
"color": "azul",
},
{
"_id": "66ad31ab6a84a29f5e027b63",
"brand": "Chevrolet",
"model": "Onix",
"price": 71000,
"license": "BCD2E34",
"color": "Prata"
},
...
]
}
Descrição: Retorna os dados de um carro em específico
URL: 'api/cars/{car}'
Método HTTP: 'GET'
Exemplo de Requisição:
GET api/cars/66ad31ab6a84a29f5e027b62 HTTP/1.1
Content-Type: application/json
Exemplo da Resposta:
{
"status": true,
"car": {
"_id": "66ad31ab6a84a29f5e027b62",
"brand": "Chevrolet",
"model": "Onix",
"price": 70000,
"license": "ABC1D23",
"color": "azul",
}
}
Descrição: Cadastra um novo carro
URL: 'api/cars'
Método HTTP: 'POST'
Exemplo de Requisição:
GET api/cars HTTP/1.1
Content-Type: application/json
Exemplo da Resposta:
{
"status": true,
"car": {
"_id": "66ad31ab6a84a29f5e027b62",
"brand": "Chevrolet",
"model": "Onix",
"price": 70000,
"license": "ABC1D23",
"color": "azul",
},
"message": "cadastro realizado com sucesso"
}
Descrição: Atualiza os dados de um carro específico
URL: 'api/cars/{car}'
Método HTTP: 'PUT'
Exemplo de Requisição:
GET api/cars/66ad31ab6a84a29f5e027b62 HTTP/1.1
Content-Type: application/json
Exemplo da Resposta:
{
"status": true,
"car": {
"_id": "66ad31ab6a84a29f5e027b62",
"brand": "Chevrolet",
"model": "Onix",
"price": 70000,
"license": "ABC1D23",
"color": "azul",
},
"message": "dados atualizados com sucesso"
}
Descrição: Deleta um carro específico
URL: 'api/cars/{car}'
Método HTTP: 'DELETE'
Exemplo de Requisição:
GET api/cars/66ad31ab6a84a29f5e027b62 HTTP/1.1
Content-Type: application/json
Exemplo da Resposta:
{
"status": true,
"message": "apagado com sucesso"
}