Uma API em FastAPI para explorar sua biblioteca de jogos da Steam, encontrar jogos não jogados e ver estatísticas sobre seus hábitos de jogo.
- 📝 Listar Jogos: Encontre jogos em sua biblioteca com base no tempo jogado.
- 🎲 Sugerir Jogo: Receba uma sugestão aleatória de um jogo para jogar da sua lista filtrada.
- 👤 Ver Perfil: Verifique os detalhes do perfil de um usuário da Steam.
- 📊 Estatísticas da Biblioteca: Obtenha um resumo estatístico da sua biblioteca de jogos.
- ℹ️ Detalhes do Jogo: Veja informações detalhadas sobre qualquer jogo na loja Steam.
.
├── app/
│ ├── routes/
│ │ ├── estatisticas.py
│ │ ├── jogo_detalhes.py
│ │ ├── jogos.py
│ │ └── usuario.py
│ ├── utils.py
│ └── main.py
├── Dockerfile
├── requirements.txt
└── README.md
Você pode executar este projeto localmente com Python ou usando Docker.
- Python 3.9+
pip- Docker (opcional)
-
Clone o repositório (ou use os arquivos locais):
-
Navegue até a pasta do projeto:
cd "G:\Meu Drive\não jogados steam"
-
(Opcional, mas recomendado) Crie e ative um ambiente virtual:
python -m venv venv # No Windows .\venv\Scripts\activate # No macOS/Linux # source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
-
Execute a API:
uvicorn app.main:app --reload
A API estará disponível em
http://127.0.0.1:8000.
-
Construa a imagem Docker: A partir da raiz do projeto, execute:
docker build -t steam-api . -
Execute o contêiner:
docker run -d -p 8000:8000 --name steam-api-container steam-api
A API estará disponível em
http://localhost:8000.
A documentação interativa completa (Swagger UI) está disponível em http://localhost:8000/docs quando a API está em execução.
Prefixo base: /api
GET /api/usuario- Descrição: Retorna informações públicas do perfil de um usuário da Steam.
- Query Params:
steam_api_key(string, obrigatório),steam_id(string, obrigatório).
-
GET /api/jogos- Descrição: Lista jogos da biblioteca com base no tempo jogado.
- Query Params:
steam_api_key(string, obrigatório)steam_id(string, obrigatório)max_horas(float, padrão: 0.0)sugestao_aleatoria(bool, padrão: False)
-
GET /api/jogo/{appid}- Descrição: Retorna detalhes públicos de um jogo específico da loja Steam.
- Path Param:
appid(integer, obrigatório).
GET /api/estatisticas- Descrição: Fornece um resumo estatístico da biblioteca de jogos.
- Query Params:
steam_api_key(string, obrigatório),steam_id(string, obrigatório).