Repository with the code of a university work
Para usar o código deve ter python 3.6 instalado no computador.
Deve possuir instalado o pipenv, para instalar digite o comando no terminal:
pip install pipenv
Se estiver em ambiente Linux deve ter sudo no inicio e pip3, não pip
As seguintes variáveis de ambiente devem ser setadas no sistema que estiver usando:
Deve ter o PostgreSQL instalado
Após instalado, acesse com o seguinte comando:
psql -h localhost -U postgres
Digite a senha do mesmo
Crie um banco de dados, exemplo:
CREATE DATABASE locadora;
ENV=production
POSTGRES_USER=nome_do_usuário_do_banco
POSTGRES_PW=senha_de_acesso_ao_banco
POSTGRES_URL=url_do_banco
POSTGRES_DB=nome_do_banco
Exemplo para setar as variáveis em ambiente Linux:
Digite no terminal
nano ~/.bashrc
Cole no arquivo .bashrc:
export ENV=production
export POSTGRES_USER=postgres
export POSTGRES_PW=123
export POSTGRES_URL=localhost
export POSTGRES_DB=locadora
Antes de rodar a aplicação entre no repositório e digite:
pipenv shell
pipenv install
flask db init
flask db migrate
flask db upgrade
Para rodar a aplicação:
flask run
/api/v1/registro_admin método: POST
Para registrar admin
{
"username": "admin",
"senha": "admin",
}
/api/v1/login método: POST
Para receber token e ter acesso a todos outros endpoints
{
"username": "admin",
"senha": "admin",
}
/api/v1/registro_cliente método: POST
Registrar cliente
{
"nome": "nome_do_cliente",
"telefone": "número_de_telefone",
"email": "endereço_email",
"cpf_cnpj": "cpf_ou_cnpj_do_cliente"
}
Desses dados todos são obrigatórios. Todos são tipo único, com exceção do nome.
/api/v1/clientes método: GET
Para listar os clientes com todos seus respectivos dados.
/api/v1/registro_carro método: POST
Para registrar um carro
{
"modelo": "modelo_carro",
"placa": "placa_carro",
"ano": "ano_do_carro",
"renavam": "número_do_renavam"
}
Desses dados todos são obrigatórios. Apenas placa e renavam são tipo único.
/api/v1/carros método: GET
Para listar os carros com todos seus respectivos dados.
/api/v1/checkin método: POST
Para fazer checkin
{
"carro_id": "número_de_id_carro",
"cliente_id": "número_de_id_cliente"
}
/api/v1//frota_update método: PUT
Para tirar um carro específico da frota
Exemplo:
{
"id": "número_de_id_carro"
}
/api/v1/checkout
Para fechar um checkin
Exemplo
{
"id": "número_de_id_checkin"
}