{"id":26655791,"url":"https://github.com/victorvazdev/dart_task_manager","last_synced_at":"2025-10-24T01:05:20.721Z","repository":{"id":277452087,"uuid":"930593459","full_name":"victorvazdev/dart_task_manager","owner":"victorvazdev","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-10T22:13:15.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T23:52:23.327Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/victorvazdev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2025-02-10T22:12:01.000Z","updated_at":"2025-03-03T15:48:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc38f3c4-aa8f-4329-b4fd-b678f05ff511","html_url":"https://github.com/victorvazdev/dart_task_manager","commit_stats":null,"previous_names":["victorvazdevbr/curso-dart-task-manager","dev-victorvaz/dart_task_manager","victorvazdev/dart_task_manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorvazdev%2Fdart_task_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorvazdev%2Fdart_task_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorvazdev%2Fdart_task_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorvazdev%2Fdart_task_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/victorvazdev","download_url":"https://codeload.github.com/victorvazdev/dart_task_manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245414525,"owners_count":20611364,"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","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":[],"created_at":"2025-03-25T06:39:56.126Z","updated_at":"2025-10-24T01:05:20.716Z","avatar_url":"https://github.com/victorvazdev.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✅ Dart Task Manager\n\nEste é um projeto simples de **gerenciador de tarefas** em Dart. Ele permite adicionar, consultar, atualizar e excluir tarefas da memória, enquanto utiliza um `StreamController` para acompanhar as ações executadas no sistema.\n\n## 🧩 Funcionalidades\n\n- ✅ Adicionar uma nova tarefa\n- 📝 Listar todas as tarefas\n- 🔁 Alternar o status de conclusão de uma tarefa\n- ❌ Remover uma tarefa pelo ID\n- 📡 Acompanhar logs de ações em tempo real com `Stream`\n\n## 📦 Estrutura do Projeto\nlib/\u003cbr\u003e\n├── models/\u003cbr\u003e\n│   ├── task.dart           # Modelo da Tarefa\u003cbr\u003e\n│   ├── task_manager.dart   # Lógica de gerenciamento de tarefas\u003cbr\u003e\n│   └── task_stream.dart    # StreamController para log\u003cbr\u003e\nbin/\u003cbr\u003e\n└── main.dart               # Ponto de entrada da aplicação\n\n## Exemplo de execução\n\n\u003cimg width=\"621\" alt=\"Exemplo de execução do Gerenciador de Tarefas\" src=\"https://github.com/user-attachments/assets/41fad1f9-99fa-4553-8439-523cee7eee19\" /\u003e\n\n\n## Conceitos Utilizados\n* StreamController.broadcast() para permitir múltiplos ouvintes de logs.\n* Conversão entre Map\u003cString, dynamic\u003e e objetos com fromMap() e toMap().\n* Imutabilidade parcial e sobrescrita de métodos como ==, hashCode e toString para facilitar comparação e depuração.\n\n## Exemplo de Classe de Tarefa\n```\nTask(\n  id: '1',\n  title: 'Estudar Dart',\n  description: 'Praticar com projetos reais',\n  isCompleted: false\n);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorvazdev%2Fdart_task_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictorvazdev%2Fdart_task_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorvazdev%2Fdart_task_manager/lists"}