Requisitos | Tecnologias | Como Usar | Usar com Make
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 |
Este projeto está sendo desenvolvido pela equipe Hamper com as seguintes tecnologias:
- Linguagem e ambiente: Python
- Object-Relational Mapper (ORM): SQLAlchemy
- Banco de dados: PostgreSQL
- Migrações de banco de dados: Alembic
# 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
# 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
# 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
# Inicializar a aplicação
$ python -m project run
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.
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.
Veja como usar a aplicação através do Make no arquivo Make.init.