{"id":30171011,"url":"https://github.com/hedriss10/fastapp-chatbot-manager","last_synced_at":"2026-05-05T14:02:55.134Z","repository":{"id":302742431,"uuid":"1013472687","full_name":"Hedriss10/fastapp-chatbot-manager","owner":"Hedriss10","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-08T02:57:39.000Z","size":234,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-08T04:31:46.081Z","etag":null,"topics":["alembic","docker","evolution","fastapi","postgresql","sqlalchemy","whtasapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hedriss10.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","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}},"created_at":"2025-07-04T00:59:33.000Z","updated_at":"2025-08-08T02:57:42.000Z","dependencies_parsed_at":"2025-07-04T02:24:41.346Z","dependency_job_id":"078c9440-d06c-491c-a838-81d5d9da5f60","html_url":"https://github.com/Hedriss10/fastapp-chatbot-manager","commit_stats":null,"previous_names":["hedriss10/fastapp-chatbot-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Hedriss10/fastapp-chatbot-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hedriss10%2Ffastapp-chatbot-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hedriss10%2Ffastapp-chatbot-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hedriss10%2Ffastapp-chatbot-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hedriss10%2Ffastapp-chatbot-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hedriss10","download_url":"https://codeload.github.com/Hedriss10/fastapp-chatbot-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hedriss10%2Ffastapp-chatbot-manager/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269963282,"owners_count":24504302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["alembic","docker","evolution","fastapi","postgresql","sqlalchemy","whtasapp"],"created_at":"2025-08-11T21:49:50.463Z","updated_at":"2026-05-05T14:02:55.121Z","avatar_url":"https://github.com/Hedriss10.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fastapp Chatbot Manager\n\nBem-vindo ao **Fastapp Chatbot Manager**, uma API RESTful desenvolvida com FastAPI para gerenciar chatbots de maneira eficiente e escalável. Este projeto adota uma arquitetura monolítica modular, com separação clara de responsabilidades entre modelos, serviços, repositórios e rotas, garantindo manutenibilidade e facilidade de extensão.\n\n## Visão Geral\n\nO Fastapp Chatbot Manager permite criar, gerenciar e interagir com chatbots por meio de uma API robusta. Ele utiliza FastAPI para alta performance, SQLAlchemy com suporte a operações assíncronas para acesso ao banco de dados, Alembic para gerenciar migrações e Pydantic para validação de dados. A aplicação é conteinerizável com Docker e inclui testes unitários e de integração.\n\n## Arquitetura do Projeto\n\nA estrutura do projeto segue o padrão de arquitetura limpa, com os seguintes diretórios e arquivos principais:\n\n```plaintext\napp/\n├── main.py                # Inicializa a aplicação FastAPI, inclui routers e configura eventos de startup/shutdown\n├── core/\n│   ├── config.py          # Configurações do ambiente usando Pydantic Settings\n│   ├── logger.py          # Configuração centralizada de logging\n│   └── exceptions.py      # Exceções personalizadas e handlers de erro\n├── db/\n│   ├── base.py            # Base declarativa para modelos SQLAlchemy\n│   ├── session.py         # Configuração de engine e sessões (suporte a async/sync)\n│   └── migrations/        # Scripts de migração gerenciados pelo Alembic\n├── api/\n│   └── v1/\n│       ├── routers/\n│       │   └── users.py   # Rotas da API para gerenciamento de usuários\n│       └── deps.py        # Dependências injetáveis para as rotas\n├── models/\n│   └── user.py            # Modelos SQLAlchemy para entidades do banco\n├── schemas/\n│   └── user.py            # Esquemas Pydantic para validação de requests/responses\n├── repositories/\n│   └── user_repo.py       # Camada de acesso a dados para operações no banco\n├── services/\n│   └── user_service.py    # Lógica de negócio para operações com usuários\n├── tests/\n│   ├── unit/              # Testes unitários\n│   └── integration/       # Testes de integração\n└── utils/\n    └── pagination.py      # Utilitários para paginação de resultados\n\nOutros arquivos:\n├── alembic.ini            # Configuração do Alembic para migrações\n├── CHANGES.md             # Changelog do projeto\n├── docker-compose.yml     # Configuração para orquestração com Docker\n├── Dockerfile             # Definição do contêiner da aplicação\n├── LICENSE                # Licença do projeto\n├── pyproject.toml         # Configuração de dependências com Poetry\n├── requirements.txt        # Lista de dependências para instalação com pip\n├── htmlcov/               # Relatórios de cobertura de testes\n├── logs/                  # Diretório para logs da aplicação\n└── dev.sh                 # Script auxiliar para desenvolvimento\n```\n\n## Pré-requisitos\n\nPara rodar o projeto localmente, você precisará de:\n\n- **Python**: 3.10 ou superior\n- **Banco de Dados**: PostgreSQL (recomendado) ou outro compatível com SQLAlchemy\n- **Docker**: Opcional, para rodar a aplicação em contêineres\n- **Poetry**: Recomendado para gerenciar dependências\n- **Git**: Para clonar o repositório\n\n## Configuração do Ambiente\n\n1. **Clone o repositório**:\n   ```bash\n   git clone https://github.com/seu-usuario/fastapp-chatbot-manager.git\n   cd fastapp-chatbot-manager\n   ```\n\n2. **Crie um ambiente virtual** (opcional se usar Poetry):\n   ```bash\n   python -m venv .venv\n   source .venv/bin/activate  # Linux/Mac\n   .venv\\Scripts\\activate     # Windows\n   ```\n\n3. **Instale as dependências**:\n   Com Poetry (recomendado):\n   ```bash\n   poetry install\n   ```\n   Ou com pip:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. **Configure as variáveis de ambiente**:\n   Crie um arquivo `.env` na raiz do projeto com o seguinte conteúdo:\n   ```plaintext\n   DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/dbname\n   LOG_LEVEL=INFO\n   SECRET_KEY=sua-chave-secreta-aqui\n   ```\n   As variáveis são lidas pelo módulo `app/core/config.py` usando Pydantic Settings.\n\n5. **Aplique as migrações do banco de dados**:\n   ```bash\n   alembic upgrade head\n   ```\n\n## Executando o Projeto\n\n### Localmente com FastAPI\nInicie o servidor de desenvolvimento com Uvicorn:\n```bash\nuvicorn app.main:app --reload --host 0.0.0.0 --port 8000\n```\nAcesse a documentação interativa da API em: `http://localhost:8000/docs`.\n\n### Com Docker\nConstrua e inicie os contêineres:\n```bash\ndocker-compose up --build\n```\n\n## Executando Testes\n\nOs testes estão localizados em `app/tests/` e incluem testes unitários e de integração. Para executá-los:\n\n```bash\npytest\n```\n\nPara gerar relatórios de cobertura:\n```bash\npytest --cov=app --cov-report=html\n```\nOs relatórios serão salvos no diretório `htmlcov/`.\n\n## Funcionalidades Principais\n\n- **Gerenciamento de Usuários**: Endpoints para criar, listar, atualizar e excluir usuários.\n- **Alta Performance**: Suporte a operações assíncronas com FastAPI e SQLAlchemy.\n- **Validação Robusta**: Esquemas Pydantic para validação de dados de entrada e saída.\n- **Logging Centralizado**: Configuração de logs para monitoramento e depuração.\n- **Paginação**: Suporte a paginação para endpoints que retornam grandes conjuntos de dados.\n- **Migrações de Banco**: Gerenciamento de esquema com Alembic.\n\n## Contribuindo\n\nContribuições são bem-vindas! Siga os passos abaixo:\n\n1. Faça um fork do repositório.\n2. Crie uma branch para sua feature: `git checkout -b minha-feature`.\n3. Commit suas alterações: `git commit -m 'Adiciona minha feature'`.\n4. Envie para o repositório remoto: `git push origin minha-feature`.\n5. Abra um Pull Request.\n\nCertifique-se de:\n- Seguir as convenções de código do projeto.\n- Adicionar testes para novas funcionalidades.\n- Atualizar o `CHANGES.md` com suas alterações.\n\n## Solução de Problemas\n\n- **Erro de conexão com o banco**: Verifique se o `DATABASE_URL` está correto no arquivo `.env`.\n- **Dependências não encontradas**: Certifique-se de que todas as dependências foram instaladas com `poetry install` ou `pip install -r requirements.txt`.\n- **Problemas com migrações**: Execute `alembic revision --autogenerate` para criar novas migrações, se necessário.\n\n## Licença\n\nEste projeto está licenciado sob os termos descritos no arquivo `LICENSE`.\n\n## Contato\n\nPara perguntas, sugestões ou suporte, entre em contato com [hedrisgts@gmail.com] ou abra uma issue no repositório.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhedriss10%2Ffastapp-chatbot-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhedriss10%2Ffastapp-chatbot-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhedriss10%2Ffastapp-chatbot-manager/lists"}