Skip to content

andre748/API-com-FastAPI-Python-e-Docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🏋️ Workout API

API completa para gestão de academias e atletas, desenvolvida com FastAPI, Python e Docker.


🚀 Tecnologias

  • FastAPI - Framework web moderno
  • Python 3.13 - Linguagem principal
  • PostgreSQL - Banco de dados
  • SQLAlchemy - ORM
  • Alembic - Migrações do banco
  • Docker - Containerização
  • Pydantic - Validação de dados

📦 Instalação

Pré-requisitos

  • Python 3.13+
  • Docker e Docker Compose
  • Git

Clone o repositório

git clone https://github.com/andre748/API-com-FastAPI-Python-e-Docker.git
cd API-com-FastAPI-Python-e-Docker/workoutapi

Configure o ambiente

# Ative o ambiente virtual (Windows)
Scripts\activate
# Instale dependências
pip install -r Scripts\requirements.txt

Banco de dados

# Inicie o PostgreSQL com Docker
docker-compose -f Scripts\docker-compose.yml up -d db

# Execute as migrações
cd Scripts
alembic upgrade head

Execute a API

uvicorn Scripts.workout_api.main:app --reload --port 8000

📋 Endpoints

Atletas

  • GET /atletas/ - Lista todos os atletas

  • GET /atletas/{id} - Busca atleta por ID

  • POST /atletas/ - Cria novo atleta

  • PATCH /atletas/{id} - Atualiza atleta

  • DELETE /atletas/{id} - Remove atleta

📷 Exemplo visual:

Atleta

Categorias

  • GET /categorias/ - Lista categorias

  • GET /categorias/{id} - Busca categoria por ID

  • POST /categorias/ - Cria nova categoria

Centros de Treinamento

  • GET /centros_treinamento/ - Lista centros

  • GET /centros_treinamento/{id} - Busca centro por ID

  • POST /centros_treinamento/ - Cria novo centro

📷 Exemplo visual:

Ct-categoria

🧾 Schemas

Visualização dos schemas utilizados na API:

📷 Exemplo visual:

Atleta

🐳 Docker

# Suba todos os serviços
docker-compose -f Scripts\docker-compose.yml up -d

# Pare os serviços  
docker-compose -f Scripts\docker-compose.yml down

📊 Estrutura do Projeto

workoutapi/
├── Scripts/
│   ├── workout_api/          # Código fonte da API
│   ├── alembic/              # Migrações do banco
│   ├── docker-compose.yml    # Configuração Docker
│   └── requirements.txt      # Dependências Python
├── Lib/                      # Ambiente virtual (não versionado)
├── Include/                  # Ambiente virtual (não versionado)
└── pyvenv.cfg                # Configuração ambiente virtual

🛠️ Desenvolvimento

Migrações de banco

cd Scripts

# Criar nova migração
alembic revision --autogenerate -m "descricao"

# Aplicar migrações  
alembic upgrade head

# Reverter migração
alembic downgrade -1

👥 Autor

André - GitHub

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published