{"id":18356619,"url":"https://github.com/joaoveasey/taskify","last_synced_at":"2026-04-26T23:31:06.222Z","repository":{"id":255679100,"uuid":"853367415","full_name":"joaoveasey/taskify","owner":"joaoveasey","description":"API em ASP.NET Web API com o objetivo de otimizar a gestão de tarefas, proporcionando uma interface organizada e intuitiva.","archived":false,"fork":false,"pushed_at":"2025-01-22T13:45:16.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T01:58:36.806Z","etag":null,"topics":["aspnet-web-api","csharp","entity-framework","jwt-authentication","mysql","xunit"],"latest_commit_sha":null,"homepage":"","language":"C#","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/joaoveasey.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}},"created_at":"2024-09-06T14:12:39.000Z","updated_at":"2025-01-22T13:45:20.000Z","dependencies_parsed_at":"2025-01-22T14:37:37.525Z","dependency_job_id":null,"html_url":"https://github.com/joaoveasey/taskify","commit_stats":null,"previous_names":["joaoveasey/taskify"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joaoveasey/taskify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoveasey%2Ftaskify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoveasey%2Ftaskify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoveasey%2Ftaskify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoveasey%2Ftaskify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joaoveasey","download_url":"https://codeload.github.com/joaoveasey/taskify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoveasey%2Ftaskify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32317162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":["aspnet-web-api","csharp","entity-framework","jwt-authentication","mysql","xunit"],"created_at":"2024-11-05T22:10:57.505Z","updated_at":"2026-04-26T23:31:06.198Z","avatar_url":"https://github.com/joaoveasey.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📝 Taskify\nTaskify é uma API desenvolvida com o framework ASP.NET Web API utilizando .NET 7. O objetivo deste projeto é permitir que os usuários gerenciem suas tarefas diárias, oferecendo funcionalidades como criar, editar, deletar e listar tarefas. Além disso, é possível filtrar as tarefas por status, data de vencimento e prioridade.\n\n## ⚙️ Funcionalidades\n- Criar, editar e deletar tarefas\n- Listar tarefas\n- Filtrar por status, data de vencimento e prioridade\n- Autenticação JWT\n\n## 🗂️ Modelo de Dados\n### A entidade Tasks tem os seguintes campos:\n\n- Id: int (Identificador único)\n- Titulo: string (Título da tarefa)\n- Descricao: string (Descrição detalhada da tarefa)\n- Data de Vencimento: DateTime (Data limite para conclusão)\n- Concluido: bool (Indica se a tarefa foi concluída)\n- Prioridade: string (Prioridade da tarefa, ex: Alta, Média, Baixa)\n  \n## 🛠️ Tecnologias Utilizadas\n- Linguagem: C#\n- Framework: ASP.NET Web API\n- Banco de Dados: MySQL\n- ORM: Entity Framework Core\n- Testes: XUnit\n- Documentação: Swagger\n- Padrão de Projeto: Repository\n- Autenticação: JWT\n- Rate Limiter: Controle de requisições por usuário\n  \n## 🚀 Como Rodar o Projeto\n- Clone o repositório:\n```` git\nhttps://github.com/joaoveasey/taskify.git\n````\n\n- Abra o projeto no Visual Studio.\n  \n- Configure a string de conexão no arquivo appsettings.json com os dados do seu banco de dados:\n````json\n\"ConnectionStrings\": {\n  \"Default\": \"Server=;Port=;User ID=;Password=;Database=\"\n}\n````\n\n- Execute o comando update-database no Console do Gerenciador de Pacotes para criar as tabelas no banco de dados.\n- Inicie o projeto.\n- Acesse o Swagger em https://localhost:5001/swagger/index.html para testar a API.\n- Autentique-se para usar os endpoints de tarefas:\n- Crie uma conta usando o endpoint /api/usuarios/register.\n- Faça login com o endpoint /api/usuarios/login para obter o token de autenticação.\n- No Swagger ou na sua ferramenta de testes de API, clique em \"Authorize\".\n- ![image](https://github.com/user-attachments/assets/105e6b59-b67d-4788-ab01-693a630365ba)\n\n- Insira o token no formato:\n````\nBearer seu_token_gerado\n````\n- Após autorizar, você poderá usar os endpoints de Tasks.\n\n## 🧪 Testes Unitários\nOs testes foram implementados utilizando xUnit para garantir a qualidade e o funcionamento adequado do sistema. Para executar os testes, siga os passos abaixo:\n\n- No arquivo TasksUnitTestController, ajuste a connectionString com os parâmetros do seu banco de dados:\n````csharp\npublic static string connectionString =\n    \"Server=;Port=;User ID=;Password=;Database=\";\n````\n### Executando os Testes:\n- Utilize o seguinte comando no terminal para rodar todos os testes unitários:\n````bash\ndotnet test\n````\n### 📋 Cenários Testados\n\n#### 🔖 Tasks\n- ✅ Criar uma tarefa\n- ✅ Editar uma tarefa\n- ✅ Deletar uma tarefa\n- ✅ Listar tarefas\n- ✅ Filtrar tarefas por status\n- ✅ Filtrar tarefas por data de vencimento\n- ✅ Filtrar tarefas por prioridade\n- ✅ Filtrar tarefas por status e data de vencimento\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaoveasey%2Ftaskify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoaoveasey%2Ftaskify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaoveasey%2Ftaskify/lists"}