Skip to content

DeliveryAPP-Project/delivery-app-backend

Repository files navigation

Requisitos   |    Tecnologias   |    Como Usar   |    Usar com Make

📝 Requisitos

Ferramenta Versão Descrição
Python 3.11.* Ambiente de execução Python
pip ^24.1.1 Gerenciador de pacotes Python
Git - Controle de versões
PostgreSQL - Sistema de gerenciamento de banco de dados
Docker - Motor de container
Docker-compose - Orquestrador de containers Docker

🚀 Tecnologias

Este projeto está sendo desenvolvido pela equipe Hamper com as seguintes tecnologias:

ℹ️ Como Usar

# Clonar este repositório
$ git clone https://github.com/DeliveryAPP-Project/delivery-app-backend.git

# Ir para o diretório do repositório
$ cd delivery-app-backend

# Criar um ambiente virtual
$ python3 -m venv venv

# Ativar o ambiente virtual
$ source venv/bin/activate

# Instalar as dependências
$ pip install -r requirements.txt

Configuração do Projeto

# Renomear o arquivo de exemplo de variáveis de ambiente
$ cp .secrets-example.toml .secrets.toml

# Definir as variáveis de ambiente para o Flask
$ export FLASK_APP=project
$ export FLASK_ENV=development # ou outro ambiente: testing, production

Configuração do Banco de Dados

# Iniciar o banco de dados com Docker
$ docker compose up

# Iniciar o banco de dados com Docker Compose em segundo plano
$ docker-compose up -d

# Parar o banco de dados com Docker Compose
$ docker-compose down

# Inicializar o banco de dados
$ flask db init # Executar apenas uma vez para inicializar a conexão
$ flask db migrate # Criar a instância do SQLAlchemy
$ flask db upgrade # Criar as tabelas no banco de dados

Executando o Projeto

# Inicializar a aplicação
$ python -m project run

📘 Documentação da API

A documentação da API pode ser acessada em http://127.0.0.1:5000/api/v1, onde a versão do Swagger estará disponível.


Alembic

Para gerenciar models, migrations e seeders, utilize o Alembic:

# Aplicar a última migração ao banco de dados
$ alembic upgrade head

# Gerar uma nova revisão (com base em modificações ou novos models)
$ alembic revision --autogenerate -m "nome_da_modificacao"

Mais comandos úteis podem ser encontrados na documentação do Alembic.

ℹ️ Usar com Make

Veja como usar a aplicação através do Make no arquivo Make.init.