{"id":46277180,"url":"https://github.com/nicolassm145/manager-api","last_synced_at":"2026-03-04T04:33:19.338Z","repository":{"id":323225456,"uuid":"1084424820","full_name":"nicolassm145/manager-api","owner":"nicolassm145","description":"[PT] API RESTful para gerenciamento das equipes de competição.","archived":false,"fork":false,"pushed_at":"2025-11-27T23:35:02.000Z","size":557,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-28T03:40:22.067Z","etag":null,"topics":["fastapi","google","manager","python","sqlalchemy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicolassm145.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-27T16:58:19.000Z","updated_at":"2025-11-27T23:37:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nicolassm145/manager-api","commit_stats":null,"previous_names":["nicolassm145/manager-api"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/nicolassm145/manager-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolassm145%2Fmanager-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolassm145%2Fmanager-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolassm145%2Fmanager-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolassm145%2Fmanager-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicolassm145","download_url":"https://codeload.github.com/nicolassm145/manager-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicolassm145%2Fmanager-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30071687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T03:25:38.285Z","status":"ssl_error","status_checked_at":"2026-03-04T03:25:05.086Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","google","manager","python","sqlalchemy"],"created_at":"2026-03-04T04:33:18.893Z","updated_at":"2026-03-04T04:33:19.330Z","avatar_url":"https://github.com/nicolassm145.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# League Manager API\n\n![Python](https://img.shields.io/badge/Python-3.13%2B-blue)\n![FastAPI](https://img.shields.io/badge/FastAPI-0.109.0%2B-009688)\n![SQLAlchemy](https://img.shields.io/badge/SQLAlchemy-2.0%2B-red)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15%2B-336791)\n![License](https://img.shields.io/badge/License-MIT-green)\n\nAPI RESTful robusta para gerenciamento de equipes, membros, inventário e finanças. Desenvolvida com foco em performance e escalabilidade utilizando FastAPI, SQLAlchemy e PostgreSQL.\n\n## 📋 Descrição\n\nO **League Manager** é uma solução completa para administração de guildas, clãs ou grupos de jogos, oferecendo:\n\n- **Segurança**: Autenticação JWT e controle de acesso baseado em roles (RBAC).\n- **Organização**: Gestão hierárquica de equipes e membros.\n- **Recursos**: Controle de inventário e itens por equipe.\n- **Finanças**: Registro e histórico de transações financeiras.\n\n## ✨ Funcionalidades\n\n- **Autenticação \u0026 Autorização**:\n    - Login seguro com JWT.\n    - Níveis de acesso: Administrador, Líder e Membro.\n- **Gestão de Equipes**:\n    - Criação e edição de equipes.\n    - Atribuição de líderes e membros.\n- **Inventário**:\n    - Adição e remoção de itens.\n    - Visualização de inventário por equipe.\n- **Financeiro**:\n    - Registro de entradas e saídas.\n    - Histórico de transações.\n- **Integração Google**:\n    - **Calendar**: Criação automática de calendários de equipe e agendamento de eventos.\n    - **Drive**: Organização de arquivos e documentos por equipe.\n\n## 🛠️ Requisitos\n\n- **Python** 3.13 ou superior\n- **PostgreSQL** (Banco de dados)\n- **Poetry** (Gerenciador de dependências)\n\n## 🚀 Instalação\n\n1. **Clone o repositório**\n\n```bash\ngit clone https://github.com/nicolassm145/manager-api.git\ncd manager-api\n```\n\n2. **Instale as dependências**\n\n```bash\npoetry install\n```\n\n3. **Configure o ambiente**\n\nCopie o arquivo de exemplo e configure suas variáveis:\n\n```bash\ncp .env_example .env\n```\n\nEdite o arquivo `.env` com suas configurações do PostgreSQL, chaves de segurança e credenciais do Google:\n\n```env\nDATABASE_URL=postgresql://usuario:senha@localhost:5432/nome_do_banco\nSECRET_KEY=sua_chave_secreta_super_segura\nJWT_ALGORITHM=HS256\nACCESS_TOKEN_EXPIRE_MINUTES=60\n\n# Google Integration\nGOOGLE_CLIENT_ID=seu_client_id\nGOOGLE_CLIENT_SECRET=seu_client_secret\nGOOGLE_OAUTH_REDIRECT_URI=http://localhost:8000/api/v1/google-drive/callback\nGOOGLE_SCOPES=https://www.googleapis.com/auth/drive.file,https://www.googleapis.com/auth/calendar\n\n# Security\nFERNET_KEY=chave_fernet_para_encriptacao\nFRONTEND_URL=http://localhost:3000\n```\n\n4. **Execute as migrações**\n\nO SQLAlchemy criará as tabelas automaticamente na primeira execução:\n\n```bash\npoetry run python run.py\n```\n\n## ▶️ Como Executar\n\n### Modo de Desenvolvimento\n\nExecute o servidor com hot-reload para desenvolvimento:\n\n```bash\npoetry run python run.py\n```\n\nOu diretamente via Uvicorn:\n\n```bash\npoetry run uvicorn app.main:app --reload --host 127.0.0.1 --port 8000\n```\n\nA API estará acessível em: `http://127.0.0.1:8000`\n\n### Documentação Interativa\n\nExplore e teste a API diretamente pelo navegador:\n\n- **Swagger UI**: [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)\n- **ReDoc**: [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc)\n\n## ☁️ Integração Google\n\nO sistema possui integração nativa com serviços do Google para potencializar a gestão das equipes:\n\n### 📅 Google Calendar\nCada equipe pode ter seu próprio calendário compartilhado.\n- **Eventos de Equipe**: Agende treinos, reuniões e campeonatos.\n- **Sincronização**: Eventos criados no sistema aparecem automaticamente no Google Calendar da equipe.\n\n### 📁 Google Drive\nOrganize documentos e mídias da equipe.\n- **Pastas de Equipe**: Criação automática de estrutura de pastas para cada equipe.\n- **Upload de Arquivos**: Armazenamento seguro de replays, estratégias e planilhas.\n\n## 📂 Estrutura do Projeto\n\n```\nmanager-api/\n├── app/\n│   ├── api/            # Endpoints da API (v1)\n│   ├── core/           # Configurações e conexão com DB\n│   ├── models/         # Modelos do SQLAlchemy (Tabelas)\n│   ├── schemas/        # Schemas do Pydantic (Validação)\n│   ├── services/       # Lógica de negócios\n│   ├── utils/          # Utilitários (Segurança, etc)\n│   └── main.py         # Entrypoint da aplicação\n├── .env_example        # Exemplo de variáveis de ambiente\n├── pyproject.toml      # Dependências do projeto\n└── run.py              # Script de execução\n```\n\n## 💻 Tecnologias\n\n- **[FastAPI](https://fastapi.tiangolo.com/)**: Framework web moderno de alta performance.\n- **[SQLAlchemy](https://www.sqlalchemy.org/)**: ORM poderoso para Python.\n- **[Pydantic](https://docs.pydantic.dev/)**: Validação de dados robusta.\n- **[PostgreSQL](https://www.postgresql.org/)**: Banco de dados relacional confiável.\n- **[Poetry](https://python-poetry.org/)**: Gerenciamento de dependências e empacotamento.\n\n## 🔐 Permissões\n\n| Role | Descrição | Permissões |\n|------|-----------|------------|\n| **Administrador** | Acesso total | Gerenciar tudo: usuários, equipes, inventários e finanças. |\n| **Líder** | Gestor de Equipe | Gerenciar sua própria equipe, adicionar membros e ver dados da equipe. |\n| **Membro** | Usuário Básico | Visualizar dados da equipe, calendário, arquivos e editar próprio perfil. |\n\n## 🤝 Contribuição\n\nContribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.\n\n1. Faça um Fork do projeto\n2. Crie uma Branch para sua Feature (`git checkout -b feature/MinhaFeature`)\n3. Faça o Commit de suas mudanças (`git commit -m 'Adiciona MinhaFeature'`)\n4. Faça o Push para a Branch (`git push origin feature/MinhaFeature`)\n5. Abra um Pull Request\n\n## 📄 Licença\n\nEste projeto está licenciado sob a licença MIT - veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolassm145%2Fmanager-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolassm145%2Fmanager-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolassm145%2Fmanager-api/lists"}