Esse é um serviço para cotação de valores relativos a fretes.
- Docker
- Docker Compose
- Poetry (gerenciador de pacotes python usado no projeto)
Para instalar o poetry, basta inserir o comando no terminal:
$ RUN curl -sSL https://install.python-poetry.org | python3 -
ou acesse o site para mais informações: https://python-poetry.org/
Clone o projeto
$ git clone git@github.com:Ramon5/shipping_quotation_service.git
$ cd shipping_quotation_service
O projeto possui dois arquivos de variáveis de ambiente: local.env e local.db.env
No terminal faça:
$ cp local.env .env
$ cp local.db.env .db.env
Obs: Defina usuário e senha para o banco de dados
$ poetry install
Caso haja necessidade em adicionair mais libs ao projeto e será necessário gerar um novo arquivo requirements.txt pois esse arquivo é usado no build da imagem Docker. Para gerar um arquivo requirements atualizado basta executar o comando:
$ make export_requirements
Ao inserir o comando make
no terminal, algumas opções de execução serão exibidas, para acioná-las
basta executar os comandos com o poetry:
Exemplo para execução dos formatadores:
$ poetry run make format
Exemplo para execução dos testes unitários:
$ poetry run make unit-tests
para executar os containers da aplicação rode o comando:
$ docker-compose up
Esse comando irá subir os containers da api e do banco de dados PostgreSQL
Rode o comando para gravar duas modalidades de frete no banco de dados. Existe o endpoint de criação também para caso haja necessidade de acrescentar mais modalidades.
$ make initial_load
Para checar os endpoints disponíveis basta acessar o endereço após subir os containers:
Implementar as outras opções de CRUD, isolar os pipelines de ci/cd e acrescentar pull request semantico, release e um pipeline orquestrador para encadear as execuções de acordo com as prioridades.