/SuperTx-Backend-v2

Projeto backend da terceira sprint do curso de pós graduação de Engenharia de Sofware da PUC Rio

Primary LanguagePythonMIT LicenseMIT

SuperTx

Projeto backend da sprint de Arquitetura de software do curso de pós graduação de Engenharia de Sofware da PUC Rio. As principais tecnologias que serão utilizadas aqui é são:

  • Flask
  • SQLAlchemy
  • OpenAPI3
  • SQLite
  • Serviço de autenticação (Authlib)

Objetivo do projeto

Sistema web que possibilita o gerencialmento do corridas de taxi. Permite o cadastro, a visualização,atualização e deleção de corridas. Caso queira entender um pouco mais da motivaçao do projeto, veja esse documento.

Arquitetura do projeto

O projeto é composto por 3 componentes que se comunicam seguindo o padrão REST. Um desses componentes é um serviço externo responsável pela autenticação do usuário. A persistência dos dados do componente do backend é feita utilizando o SQLite. Cada um dos componentes desenvolvidos pode ser executado utilizando container.

alt text

Como executar o servidor

Para executar o projeto, siga os passos:

  1. Clone o repositório
  2. Instale a lib do poetry usando o pip
pip install poetry

É fortemente indicado o uso de ambientes virtuais do poetry, pois segue a orientação prevista na PEP 621

  1. Faça a instalação das dependências listadas no arquivo pyproject.toml:
poetry install
  1. Ative o ambiente virtual. Caso tenha alguma dúvida consultar a seguinte documentação
poetry shell
  1. Execute a API
(env)$ flask run --host 0.0.0.0 --port 5000

Como executar através do docker

TBD