Skip to content

Alex-Nascimentoo/test-verzel-be

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lista de veículos à venda - API

Instruções de uso

Com docker

1. Após clonar o repositório localmente, inicialize o app com o comando docker compose up -d e a aplicação estará pronta para os testes.

Este comando irá criar um container chamado test-verzel-container rodando a aplicação Flask na porta 8080 e outro container chamado verzel-db rodando um banco de dados MySQL.

Sem docker

1. Após clonar o repositório localmente, baixe as dependências listadas no arquivo requirements.txt

2. Com as dependências prontas, crie seu bando de dados MySQL e crie a tabela com o seguite código:

CREATE TABLE vehicles (
  id integer not null auto_increment primary key,
  brand varchar(100),
  model varchar(100),
  v_version varchar(100),
  price integer,
  color varchar(100),
  category varchar(100),
  engine varchar(100),
  transmission varchar(100),
  v_year integer,
  km_old integer,
  photo varchar(256) not null
);

3. Agore conecte a API ao seu banco de dados MySQL a partir da linha 9 do arquivo app.py.

4. Para poder rodar o app Flask, adicione a variável que indica o app a ser executado, utilize o comando export FLASK_APP=app.

5. Agora é só inicializar a aplicação em Flask com o comando flask run e estamos prontos para testar o aplicativo.

Rotas

POST http://localhost:5000/api/users/login retorna um JSON com o seguinte objeto:

{
  "message": "Logged in successfully",
  "token": "token<string>"
}

GET http://localhost:5000/api/vehicles retorna um JSON com uma lista de objetos do tipo:

{
  "id": number,
  "brand": string,
  "model": string,
  "version": string,
  "price": number,
  "color": string,
  "category": string,
  "engine": string,
  "transmission": string,
  "year": number,
  "km_old": number,
  "photo": string
},

GET http://localhost:5000/api/vehicles/:id retorna um JSON com um único objeto do mesmo tipo acima

POST http://localhost:5000/api/vehicles?token={token<string>} cadastra um novo veículo no banco de dados e retorna o mesmo com o código HTTP 201. A rota espera um JSON no body do tipo:

{
	"brand": string,
	"model": string,
	"version": string,
	"price": number,
	"color": string,
	"category": string,
	"engine": string,
	"transmission": string,
	"year": number,
	"km_old": number,
	"photo": string
}

PUT http://localhost:5000/api/vehicles?id={id<int>}&token={token<string>} atualiza o veículo especificado pelo id. A rota espera um objeto JSON no body do igual ao da rota acima.

DELETE http://localhost:5000/api/vehicles/:id deleta um veículo do banco de dados de acordo com o id especificado na rota.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published