Este projeto consiste em um sistema de gerenciamento de carros e proprietários, desenvolvido com Flask. Abaixo, você encontrará detalhes sobre a estrutura do projeto, suas funcionalidades, configuração e como executar localmente.
Estrutura do Projeto
-
norktown_carford
-
app
__init__.py
config.py
config_test.py
-
models
__init__.py
car.py
owner.py
user.py
-
dtos
__init__.py
car_dto.py
owner_dto.py
-
controllers
__init__.py
car_controller.py
owner_controller.py
user_controller.py
-
views
__init__.py
car_view.py
owner_view.py
user_view.py
-
tests
__init__.py
test_car.py
test_owner.py
test_user.py
docker-compose.yml
Dockerfile
requirements.yml
wait-for-it.sh
run.py
-
O sistema oferece diversas funcionalidades, descritas abaixo:
- Adicionar Carro: Adiciona um novo carro ao sistema.
- Obter Carro: Recupera informações de um carro específico.
- Atualizar Carro: Atualiza os dados de um carro.
- Excluir Carro: Remove um carro do sistema.
- Adicionar Proprietário: Adiciona um novo proprietário ao sistema.
- Obter Proprietário: Recupera informações de um proprietário específico.
- Atualizar Proprietário: Atualiza os dados de um proprietário.
- Excluir Proprietário: Remove um proprietário do sistema (desde que não possua carros).
- Registrar Usuário: Cria uma nova conta de usuário.
- Login de Usuário: Autentica um usuário e retorna um token JWT.
- Python 3.x instalado.
- PostgreSQL instalado e configurado.
- Docker e Docker Compose instalados.
-
Clone o repositório do projeto do GitHub:
git clone https://github.com/seu-usuario/seu-projeto.git cd seu-projeto
-
Crie um ambiente virtual Python e ative-o:
python3 -m venv venv source venv/bin/activate # Linux/macOS
-
Instale as dependências do projeto:
pip install -r requirements.txt
-
Configure o banco de dados PostgreSQL:
- Abra o arquivo
config.py
emapp/config.py
. - Verifique as configurações em
SQLALCHEMY_DATABASE_URI
e ajuste conforme necessário, incluindo o nome do banco de dados, usuário e senha. - Certifique-se de que o PostgreSQL esteja em execução e acessível.
- Abra o arquivo
-
Utilize Docker Compose para iniciar os serviços:
docker-compose up --build
python run.py
A seguir estão os endpoints disponíveis neste projeto:
Método: POST
URL: /cars
Descrição: Adiciona um novo carro ao sistema.
Método: GET
URL: /cars/<int:car_id>
Descrição: Retorna os detalhes de um carro específico.
Método: PUT
URL: /cars/<int:car_id>
Descrição: Atualiza os dados de um carro existente.
Método: DELETE
URL: /cars/<int:car_id>
Descrição: Remove um carro do sistema.
Método: POST
URL: /owners
Descrição: Adiciona um novo proprietário ao sistema.
Método: GET
URL: /owners/<int:owner_id>
Descrição: Retorna os detalhes de um proprietário específico.
Método: PUT
URL: /owners/<int:owner_id>
Descrição: Atualiza os dados de um proprietário existente.
Método: DELETE
URL: /owners/<int:owner_id>
Descrição: Remove um proprietário do sistema (desde que não possua carros).
Método: POST
URL: /users/register
Descrição: Cria uma nova conta de usuário.
Método: POST
URL: /users/login
Descrição: Autentica um usuário e retorna um token JWT.
Este projeto foi desenvolvido por Pablo Fidelis Dias. Para mais detalhes, consulte o link: https://github.com/pablohsk/Car_Controll.
Qualquer dúvida ou sugestão, sinta-se à vontade para entrar em contato. Obrigado por utilizar o Norktown Carford!