API completa para gestão de academias e atletas, desenvolvida com FastAPI, Python e Docker.
- 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
- Python 3.13+
- Docker e Docker Compose
- Git
git clone https://github.com/andre748/API-com-FastAPI-Python-e-Docker.git
cd API-com-FastAPI-Python-e-Docker/workoutapi
# Ative o ambiente virtual (Windows)
Scripts\activate
# Instale dependências
pip install -r Scripts\requirements.txt
# Inicie o PostgreSQL com Docker
docker-compose -f Scripts\docker-compose.yml up -d db
# Execute as migrações
cd Scripts
alembic upgrade head
uvicorn Scripts.workout_api.main:app --reload --port 8000
-
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:
-
GET /categorias/ - Lista categorias
-
GET /categorias/{id} - Busca categoria por ID
-
POST /categorias/ - Cria nova categoria
-
GET /centros_treinamento/ - Lista centros
-
GET /centros_treinamento/{id} - Busca centro por ID
-
POST /centros_treinamento/ - Cria novo centro
📷 Exemplo visual:
📷 Exemplo visual:
# 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
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
cd Scripts
# Criar nova migração
alembic revision --autogenerate -m "descricao"
# Aplicar migrações
alembic upgrade head
# Reverter migração
alembic downgrade -1
André - GitHub