Uma API RESTful moderna para gerenciamento de sistemas RPG, construída com FastAPI, SQLAlchemy e SQLite.
- ✅ Criação e gerenciamento de personagens
- ✅ Persistência de dados em banco de dados
- ✅ Documentação automática interativa (Swagger UI)
- ✅ Validação de dados com Pydantic
- ✅ Arquitetura limpa e escalável
- Python 3.7+
- pip (gerenciador de pacotes Python)
git clone https://github.com/seu-usuario/rpg-system.git
cd rpg-systempython -m venv venvWindows (PowerShell):
.\venv\Scripts\Activate.ps1Windows (CMD):
.\venv\Scripts\activate.batLinux/Mac:
source venv/bin/activatepip install -r requirements.txtCom o ambiente virtual ativado, execute:
uvicorn app.main:app --reloadA API estará disponível em:
- 🌐 Servidor: http://127.0.0.1:8000
- 📚 Documentação Interativa (Swagger): http://127.0.0.1:8000/docs
- 📖 Documentação Alternativa (ReDoc): http://127.0.0.1:8000/redoc
POST /characters
Content-Type: application/json
{
"name": "Aragorn",
"class": "Ranger",
"level": 10
}GET /characters/{character_id}GET /charactersrpg-system/
├── app/
│ ├── __init__.py
│ ├── main.py # Ponto de entrada da API
│ ├── database.py # Configuração do banco de dados
│ ├── models/
│ │ └── character.py # Modelo de dados do personagem
│ ├── schemas/
│ │ └── character_schema.py # Validação de dados (Pydantic)
│ ├── routes/
│ │ └── character_routes.py # Endpoints da API
│ ├── services/
│ │ └── character_service.py # Lógica de negócio
│ └── core/ # Configurações gerais
├── tests/ # Testes automatizados
├── requirements.txt # Dependências do projeto
├── rpg_system.db # Banco de dados SQLite
└── README.md # Este arquivo
- FastAPI - Framework web moderno e rápido
- Uvicorn - Servidor ASGI
- SQLAlchemy - ORM para banco de dados
- Pydantic - Validação de dados
- SQLite - Banco de dados leve
Veja requirements.txt para a lista completa:
- fastapi
- uvicorn
- sqlalchemy
- pydantic
Contribuições são bem-vindas! Para contribuir:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Matheus
Para dúvidas ou sugestões, abra uma issue no repositório.
Última atualização: Maio 2026