{"id":25434528,"url":"https://github.com/mateus-dev-me/task-manager-fastapi","last_synced_at":"2026-05-06T04:04:00.759Z","repository":{"id":279278208,"uuid":"935055561","full_name":"mateus-dev-me/task-manager-fastapi","owner":"mateus-dev-me","description":"Rest API for task management written in Python with FastAPI.","archived":false,"fork":false,"pushed_at":"2025-02-28T15:53:07.000Z","size":61,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-11T18:07:45.796Z","etag":null,"topics":["continues-integration","docker-compose","fastapi","postgresql","pyproject-toml","python","testdrivendevlopment"],"latest_commit_sha":null,"homepage":"https://task-manager-fastapi.fly.dev/docs","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/mateus-dev-me.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}},"created_at":"2025-02-18T20:41:27.000Z","updated_at":"2025-03-05T02:33:05.000Z","dependencies_parsed_at":"2025-05-14T21:12:58.895Z","dependency_job_id":"1d7077d0-fef8-4d05-a9f3-592d07d1445c","html_url":"https://github.com/mateus-dev-me/task-manager-fastapi","commit_stats":null,"previous_names":["mateus-dev-me/fast_zero","mateus-dev-me/task_manager_api","mateus-dev-me/task-manager-fastapi","mateus-dev-me/task_manager_fastapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mateus-dev-me/task-manager-fastapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateus-dev-me%2Ftask-manager-fastapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateus-dev-me%2Ftask-manager-fastapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateus-dev-me%2Ftask-manager-fastapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateus-dev-me%2Ftask-manager-fastapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mateus-dev-me","download_url":"https://codeload.github.com/mateus-dev-me/task-manager-fastapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateus-dev-me%2Ftask-manager-fastapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32677933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["continues-integration","docker-compose","fastapi","postgresql","pyproject-toml","python","testdrivendevlopment"],"created_at":"2025-02-17T06:17:40.305Z","updated_at":"2026-05-06T04:04:00.730Z","avatar_url":"https://github.com/mateus-dev-me.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 TaskManager FastAPI\n[![Python Version](https://img.shields.io/badge/Python-3.13%2B-blue)](https://www.python.org/downloads/release)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.115.8%2B-green)](https://docs.djangoproject.com/en/stable/releases/)\n\nTaskManager é uma API RESTful desenvolvida com **FastAPI** para gerenciar usuários e tarefas. A API fornece autenticação baseada em token e operações CRUD para usuários e tarefas. Você pode executá-la localmente ou dentro de contêineres Docker.\n\n## 📖 Documentação da API\n\nA documentação interativa da API está disponível no Swagger UI:\n\n- **[TaskManager API Docs (Swagger UI)](https://task-manager-fastapi.fly.dev/docs)**\n\n## 📌 Tecnologias Utilizadas\n\n- **Python 3.13+**\n- **FastAPI** (Framework principal)\n- **Uvicorn** (Servidor ASGI)\n- **SQLAlchemy 2.0** (ORM)\n- **PostgreSQL**\n- **Pydantic** (Validação e tipagem)\n- **JWT (JSON Web Token)** (Autenticação)\n- **Pytest** (TDD)\n- **Alembic** (Migrações de banco de dados)\n- **Docker \u0026 Docker Compose** (Containerização)\n- **Github Actions** (Integração Contínua)\n- **Fly.io** (Hospedagem)\n\n---\n\n## Endpoints da API\n\n### 🔐 Autenticação\n\n| Método | Rota                          | Descrição                  |\n|-------:|:------------------------------|:---------------------------|\n| `POST` | `/api/v1/auth/token`          | Obter token de acesso      |\n| `POST` | `/api/v1/auth/refresh_token`  | Renovar token de acesso    |\n\n### 👤 Usuários\n\n| Método   | Rota                      | Descrição            |\n|---------:|:--------------------------|:---------------------|\n| `POST`   | `/api/v1/users/`          | Criar usuário        |\n| `GET`    | `/api/v1/users/`          | Listar usuários      |\n| `GET`    | `/api/v1/users/{user_id}` | Obter detalhes       |\n| `PUT`    | `/api/v1/users/{user_id}` | Atualizar usuário    |\n| `DELETE` | `/api/v1/users/{user_id}` | Excluir usuário      |\n\n### ✅ Tarefas\n\n| Método   | Rota                       | Descrição            |\n|---------:|:---------------------------|:---------------------|\n| `POST`   | `/api/v1/tasks/`           | Criar tarefa         |\n| `GET`    | `/api/v1/tasks/`           | Listar tarefas       |\n| `PATCH`  | `/api/v1/tasks/{task_id}`  | Atualizar tarefa     |\n| `DELETE` | `/api/v1/tasks/{task_id}`  | Excluir tarefa       |\n\n---\n\n# 📁 Descrição dos Diretórios\n\nA estrutura do projeto está organizada para promover uma separação clara de responsabilidades, facilitando a manutenção, escalabilidade e testes. A seguir, uma breve descrição de cada diretório e seus arquivos:\n\n## app/\n- **main.py**  \n  Ponto de entrada da aplicação. Inicializa a instância do FastAPI, registra os routers e configurações iniciais do servidor.\n\n## app/core/\n- **config.py**  \n  Responsável por carregar as configurações globais da aplicação (ex.: variáveis de ambiente, URL do banco, chave secreta).\n- **security.py**  \n  Contém funções e classes relacionadas à segurança, como a implementação e verificação de tokens JWT.\n\n## app/database/\n- **models.py**  \n  Define os modelos de dados utilizando um ORM (por exemplo, SQLAlchemy) para representar as tabelas do banco de dados.\n- **session.py**  \n  Gerencia a sessão de conexão com o banco de dados, facilitando a execução de queries e a gestão de transações.\n\n## app/repositories/\n- **task_repository.py**  \n  Implementa a camada de acesso a dados para as tarefas, encapsulando operações CRUD.\n- **user_repository.py**  \n  Implementa a camada de acesso a dados para os usuários, abstraindo as operações de persistência.\n\n## app/routers/\n- **v1/**  \n  Diretório destinado à versão 1 da API, permitindo o versionamento das rotas.\n  - **endpoints/**  \n    Contém os controladores que definem os endpoints da API.\n    - **auth_controller.py**  \n      Gerencia os endpoints de autenticação (login, renovação de token, etc.).\n    - **task_controller.py**  \n      Define os endpoints para o gerenciamento das tarefas (criação, listagem, atualização e exclusão).\n    - **user_controller.py**  \n      Define os endpoints para o gerenciamento dos usuários (criação, listagem, atualização e exclusão).\n\n## app/schemas/\n- **base.py**  \n  Define esquemas básicos e modelos compartilhados entre diferentes partes da aplicação.\n- **tasks.py**  \n  Esquemas para a validação e serialização dos dados relacionados às tarefas.\n- **token.py**  \n  Esquemas para manipulação dos dados dos tokens JWT, facilitando a geração e validação.\n- **users.py**  \n  Esquemas para a validação e serialização dos dados dos usuários.\n\n## app/services/\n- **task_service.py**  \n  Contém a lógica de negócio para operações relacionadas às tarefas, coordenando a interação entre repositórios e controladores.\n- **user_service.py**  \n  Contém a lógica de negócio para operações relacionadas aos usuários, encapsulando regras de validação e manipulação de dados.\n\n\n---\n\n## 📜 Licença\nEste projeto está sob a licença **MIT**. Sinta-se à vontade para usá-lo, modificá-lo e contribuir!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateus-dev-me%2Ftask-manager-fastapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateus-dev-me%2Ftask-manager-fastapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateus-dev-me%2Ftask-manager-fastapi/lists"}