{"id":24491397,"url":"https://github.com/ianfelps/tasks_api","last_synced_at":"2026-05-07T19:09:33.262Z","repository":{"id":272534242,"uuid":"916921358","full_name":"ianfelps/tasks_api","owner":"ianfelps","description":"Projeto de API RESTful para gerenciar tarefas, desenvolvido em Python com FastAPI e SQLite. A API permite criar, ler, atualizar e deletar tarefas de forma simples e eficiente.","archived":false,"fork":false,"pushed_at":"2025-02-02T13:29:00.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-28T16:36:21.606Z","etag":null,"topics":["api","api-restful","database","fastapi","python","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ianfelps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-15T02:22:37.000Z","updated_at":"2025-02-02T13:29:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"605385e0-edd6-4548-a407-69b29b894058","html_url":"https://github.com/ianfelps/tasks_api","commit_stats":null,"previous_names":["ianfelps/tasks_api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ianfelps/tasks_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianfelps%2Ftasks_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianfelps%2Ftasks_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianfelps%2Ftasks_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianfelps%2Ftasks_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ianfelps","download_url":"https://codeload.github.com/ianfelps/tasks_api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianfelps%2Ftasks_api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32751929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["api","api-restful","database","fastapi","python","sqlite3"],"created_at":"2025-01-21T18:18:05.460Z","updated_at":"2026-05-07T19:09:33.213Z","avatar_url":"https://github.com/ianfelps.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tasks API\n\nEste é um projeto de API RESTful para gerenciamento tarefas, desenvolvido em Python com FastAPI e SQLite. A API permite criar, ler, atualizar e deletar tarefas de forma simples e eficiente.\n\n## Funcionalidades\n\n- Listar todas as tarefas\n- Obter uma tarefa específica pelo ID\n- Adicionar uma nova tarefa\n- Atualizar uma tarefa existente\n- Deletar uma tarefa\n\n## Tecnologias Utilizadas\n\n- **Python:** Linguagem de programação.\n- **FastAPI:** Framework para construir APIs de forma rápida e eficiente.\n- **SQLite:** Banco de dados relacional leve utilizado para armazenar as tarefas.\n- **Pydantic:** Biblioteca para validação de dados e criação de modelos.\n- **Uvicorn:** Servidor ASGI para executar a aplicação FastAPI.\n\n## Endpoints\n\n### 1. Home\n\n- **GET** `/`\n  \n  Retorna uma mensagem de boas-vindas.\n\n### 2. Listar todas as tarefas\n\n- **GET** `/tasks`\n  \n  Retorna uma lista de todas as tarefas.\n\n### 3. Obter uma tarefa específica\n\n- **GET** `/tasks/{id}`\n  \n  Retorna os detalhes de uma tarefa específica pelo ID.\n\n### 4. Adicionar uma nova tarefa\n\n- **POST** `/tasks`\n  \n  Adiciona uma nova tarefa. O corpo da requisição deve ser um JSON com o seguinte formato:\n\n  ```json\n  {\n      \"title\": \"Título da tarefa\",\n      \"description\": \"Descrição da tarefa\",\n      \"category\": \"Categoria da tarefa\",\n      \"status\": false\n  }\n  ```\n\n### 5. Atualizar uma tarefa existente\n\n- **PUT** `/tasks/{id}`\n  \n  Atualiza uma tarefa existente. O corpo da requisição deve ser um JSON com o mesmo formato do endpoint de adição.\n\n### 6. Deletar uma tarefa\n\n- **DELETE** `/tasks/{id}`\n  \n  Deleta uma tarefa específica pelo ID.\n\n### Estrutura do Repositório\n\n1. **`.json`**: \n   - Contém um modelo de tarefa em formato JSON, definindo a estrutura básica com campos como `title`, `description`, `category` e `status`.\n\n2. **`actions.py`**: \n   - Contém funções para interagir com o banco de dados SQLite, incluindo inicialização do banco, leitura, adição, atualização e exclusão de tarefas. Utiliza logging para registrar operações.\n\n3. **`app.py`**: \n   - Arquivo principal da aplicação FastAPI. Define as rotas da API, inicializa o banco de dados na inicialização da aplicação e implementa as operações CRUD (Create, Read, Update, Delete) para as tarefas.\n\n4. **`local.db`**: \n   - Arquivo do banco de dados SQLite que armazena as tarefas. É criado automaticamente quando a aplicação é executada pela primeira vez.\n\n5. **`models.py`**: \n   - Define os modelos de dados utilizando Pydantic. Inclui um modelo de tarefa (`Task`) e um modelo de consulta (`query_model`) para validação de dados.\n\n6. **`requirements.txt`**: \n   - Lista as dependências do projeto, especificando as versões das bibliotecas necessárias para executar a aplicação, como FastAPI, Pydantic e Uvicorn.\n\n## Instalação\n\nCertifique-se de ter o Python 3.7 ou superior instalado em sua máquina.\n\n1. Clone o repositório:\n\n   ```bash\n   git clone https://github.com/ianfelps/tasks_api.git\n   ```\n\n2. Instale as dependências:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Execução\n\nPara executar a API, use o seguinte comando:\n\n```bash\nuvicorn app:app --reload\n```\n\nA API estará disponível localmente em `http://localhost:8000`.\n\n### Conclusão\n\nO repositório `tasks_api` fornece uma implementação básica de uma API RESTful para gerenciamento de tarefas, utilizando tecnologias modernas e práticas recomendadas para desenvolvimento de APIs. Cada arquivo tem um papel específico, contribuindo para a funcionalidade e a organização do projeto.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fianfelps%2Ftasks_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fianfelps%2Ftasks_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fianfelps%2Ftasks_api/lists"}