{"id":24583481,"url":"https://github.com/andresilvase/tasky","last_synced_at":"2026-05-18T22:07:55.452Z","repository":{"id":271932220,"uuid":"912111596","full_name":"andresilvase/tasky","owner":"andresilvase","description":"Simple offline task manager.","archived":false,"fork":false,"pushed_at":"2025-01-14T13:11:45.000Z","size":5165,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T04:46:36.543Z","etag":null,"topics":["database-management","flutter","getx","getx-state-management","hive","hiveql","integration-tests","internationalization","lcov","lcov-report","mvvm","mvvm-architecture","unit-tests","widget-test"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/andresilvase.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}},"created_at":"2025-01-04T16:28:50.000Z","updated_at":"2025-01-16T01:40:16.000Z","dependencies_parsed_at":"2025-01-10T20:46:58.645Z","dependency_job_id":null,"html_url":"https://github.com/andresilvase/tasky","commit_stats":null,"previous_names":["andresilvase/tasky"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresilvase%2Ftasky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresilvase%2Ftasky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresilvase%2Ftasky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresilvase%2Ftasky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andresilvase","download_url":"https://codeload.github.com/andresilvase/tasky/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244075636,"owners_count":20393979,"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":["database-management","flutter","getx","getx-state-management","hive","hiveql","integration-tests","internationalization","lcov","lcov-report","mvvm","mvvm-architecture","unit-tests","widget-test"],"created_at":"2025-01-24T04:46:43.091Z","updated_at":"2026-05-18T22:07:55.411Z","avatar_url":"https://github.com/andresilvase.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Idioma**: 🇧🇷 \u003ca href=\"https://github.com/andresilvase/tasky/blob/main/README.md\"\u003ePortuguês Brasileiro\u003c/a\u003e | 🇺🇸 \u003ca href=\"https://github.com/andresilvase/tasky/blob/main/readme-en-us.md\"\u003eInglês Americano\u003c/a\u003e\n\n---\n\n# \u003cimg src=\"assets/icon/round_icon.png\" alt=\"Logo\" width=\"64\" style=\"vertical-align: middle;\"/\u003e Tasky - Gerenciador de Tarefas 📝\n\n\u003e \"As pessoas organizadas são apenas preguiçosas demais para procurar as coisas\" - Albert Einstein (não, ele nunca disse isso 😅)\n\n\n## 🎯 O Que é o Tasky?\nBem-vindo ao **Tasky**, o aplicativo de tarefas mais organizado e poliglota que você já viu! 🎉\n\nTasky é aquele amigo organizado que você sempre quis ter! Um app de tarefas que não julga seu caos, apenas tenta organizá-lo de uma forma legal.\n\nAqui você pode finalmente dar um jeito na bagunça que chama de \"meu dia\" com estilo e simplicidade. 🚀\n\n\u003ctable\u003e  \n  \u003ctr\u003e    \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-initial-screen-no-task.png\" alt=\"Apresentação do App 10\" width=\"200\"/\u003e\u003c/td\u003e     \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-create-task.png\" alt=\"Apresentação do App 5\" width=\"200\"/\u003e\u003c/td\u003e     \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-search.png\" alt=\"Apresentação do App 14\" width=\"200\"/\u003e\u003c/td\u003e     \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-done.png\" alt=\"Apresentação do App 8\" width=\"200\"/\u003e\u003c/td\u003e                                          \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\n\n\u003ctable\u003e  \n  \u003ctr\u003e        \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-creating-task.png\" alt=\"Apresentação do App 6\" width=\"200\"/\u003e\u003c/td\u003e   \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-initial-screen-with-tasks.png\" alt=\"Apresentação do App 11\" width=\"200\"/\u003e\u003c/td\u003e        \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-search-found.png\" alt=\"Apresentação do App 13\" width=\"200\"/\u003e\u003c/td\u003e   \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-done-with-tasks.png\" alt=\"Apresentação do App 7\" width=\"200\"/\u003e\u003c/td\u003e           \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\n\u003ctable\u003e  \n  \u003ctr\u003e    \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-menu-open.png\" alt=\"Apresentação do App 12\" width=\"200\"/\u003e\u003c/td\u003e       \n    \u003ctd\u003e\u003cimg src=\"assets/repo/auth-screen.png\" alt=\"Apresentação do App 1\" width=\"200\"/\u003e\u003c/td\u003e                \n    \u003ctd\u003e\u003cimg src=\"assets/repo/profile.png\" alt=\"Apresentação do App 4\" width=\"200\"/\u003e\u003c/td\u003e    \n    \u003ctd\u003e\u003cimg src=\"assets/repo/logged-initial-screen.png\" alt=\"Apresentação do App 3\" width=\"200\"/\u003e\u003c/td\u003e                    \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\n---\n### Offline First! 📶\n\nInternet? Quem precisa dela? O Tasky usa o banco de dados local Hive 🐝, para que suas tarefas estejam sempre com você, mesmo quando o Wi-Fi estiver contra.\n\n---\n\n## 🌟 Sobre o app e funcionalidades Principais\n\n### O Básico (porque ninguém quer complicação):\n- **Criar Tarefa:** Adicione um título e uma descrição para a sua tarefa. Simples, direto e sem frescuras!\n- **Pesquisar Tarefa:** Procure por título ou descrição. (Não se preocupe, nós não julgamos as palavras-chave absurdas que você digitar.)\n- **Completar Tarefa:** Concluiu? Risque da lista e celebre com estilo. 🍾\n\n\u003ctable\u003e  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-creating-task.png\" alt=\"Tela de Criar uma nova tarefa\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-search-found.png\" alt=\"Pesquisar uma tarefa\" width=\"200\"/\u003e\u003c/td\u003e      \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-done-with-tasks.png\" alt=\"Ver tarefas feitas\" width=\"200\"/\u003e\u003c/td\u003e    \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\n\n### Sistema de Autenticação Simples 🔐\n- **Modo sem Login:** Use o Tasky no modo \"eu não quero me registrar\". Todas as tarefas ficam no perfil padrão, perfeito para os minimalistas.\n- **Modo com Login:** Faça login, adicione um nome incrível e uma foto de perfil estilosa. Suas tarefas ficam personalizadas e prontas para impressionar!\n\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/auth-screen.png\" alt=\"Brasil Selecionado\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/profile.png\" alt=\"EUA Selecionado\" width=\"200\"/\u003e\u003c/td\u003e    \n    \u003ctd\u003e\u003cimg src=\"assets/repo/logged-initial-screen.png\" alt=\"EUA Selecionado\" width=\"200\"/\u003e\u003c/td\u003e    \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\n### Dark Mode ☾\nSe você é fã de telas escuras ou quer poupar a bateria do celular, o Tasky também tem **Dark Mode**! Organize suas tarefas com estilo, sem queimar as retinas. \n\n\u003ctable\u003e \n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/creating-task-dark-mode.png\" width=\"200\"/\u003e\u003c/td\u003e    \n    \u003ctd\u003e\u003cimg src=\"assets/repo/unlogged-initial-screen-dark-mode.png\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/search-task-found-dark-mode.png\" width=\"200\"/\u003e\u003c/td\u003e    \n    \u003ctd\u003e\u003cimg src=\"assets/repo/completed-dark-mode.png\" width=\"200\"/\u003e\u003c/td\u003e    \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\n### Multilinguismo à Toda Prova 🌎\nO Tasky fala mais idiomas que aquele seu amigo poliglota metido. Disponível em:\n- 🇺🇸 Inglês (para os fancy)\n- 🇧🇷 Português (pra nós!)\n- 🇪🇸 Espanhol (¡Hola!)\n- 🇫🇷 Francês (Oui oui)\n- 🇮🇹 Italiano (Mamma mia!)\n- 🇮🇳 Hindi (नमस्ते)\n- 🇨🇳 Chinês (你好)\n\u003ctable\u003e  \n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/language.png\" alt=\"Login nas Redes Sociais\" width=\"200\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"assets/repo/language-dark-mode.png\" alt=\"Login nas Redes Sociais\" width=\"200\"/\u003e\u003c/td\u003e    \n  \u003c/tr\u003e  \n\u003c/table\u003e\n\nSe a organização mundial não bastar, pelo menos você vai aprender um \"hello\" em sete línguas! 😉\n\n# 🛠️ Tecnicamente Falando...\n\nPara executar o aplicativo, siga estas etapas:\n\n1. Configure Flutter na sua máquina, se ainda não estiver configurado.\n    Acesse [flutter.dev](https://flutter.dev).\n\n2. Clone o repositório:\n```bash\ngit clone https://github.com/andresilvase/tasky.git\n```\n\n3. Instale as dependências:\n```bash\nflutter pub get\n```\n\n4. Execute o aplicativo:\n```bash\nflutter run\n```\n\n## 🏗️ Arquitetura MVVM\nO aplicativo segue a arquitetura MVVM (Model-View-ViewModel) para uma estrutura de código organizada e escalável.\n| Feature Tasks                          | Feature Language                 | Feature Auth                    |\n| -------------------------------------- | -------------------------------- | ------------------------------- |\n| ![Tela Inicial](/assets/repo/mvvm.png) | ![Criar](/assets/repo/mvvm2.png) | ![Done](/assets/repo/mvvm3.png) |\n\n## Testes Automatizados 🔬\nO aplicativo possui testes automatizados de unidade, interface e integração para garantir a qualidade do código. Para executar os testes, execute o seguinte comando na raiz do projeto:\n\n- Testes de unidade:\n\n```bash\nflutter test test/unit_test.dart\n```\n\n- Testes de interface:\n```bash\nflutter test test/widgets_test.dart\n```\n\n- Testes de integração:\n```bash\nflutter test integration_test/app_test.dart\n```\n\n## Cobertura de código LCOV ![Coverage: 95.4%](https://img.shields.io/badge/coverage-95.4%25-brightgreen)\n\nUtilizando a ferramenta de cobertura de código LCOV,podemos visualizar a porcentagem de cobertura de código do aplicativo.\nPara visualizar a cobertura de código, é necessário ter instalado o LCOV. Após instalar o LCOV, execute os seguintes comandos na raiz do projeto:\n\n```bash\nflutter test flutter test --coverage\n```\n\n```bash\ngenhtml -o coverage/html coverage/lcov.info\n```\n\n```bash\nopen coverage/html/index.html\n```\n\nApós executar os comandos, a cobertura de código será exibida em um navegador.\n\n![Cobertura de código](/assets/repo/coverage.png)\n\n## CI/CD - Codemagic ![Codemagic CI](https://api.codemagic.io/apps/67812d37d859346d098d32d1/67812d37d859346d098d32d0/status_badge.svg)\nO aplicativo está hospedado no Codemagic, uma plataforma de CI/CD para aplicativos Flutter. O Codemagic é responsável por compilar e implantar o aplicativo em dispositivos iOS e Android.\n\n## 🚀 Tecnologias Utilizadas\n\nO **Tasky** foi construído com um conjunto de tecnologias modernas para oferecer a melhor experiência ao usuário:\n\n- **Flutter**: Framework utilizado para garantir um aplicativo fluido tanto em Android quanto em iOS.\n- **Hive**: Banco de dados local para armazenamento de dados.\n---\n\n## 🔮 Roadmap Futuro\n\nVeja o que planejamos para as próximas versões:\n- [ ] ☁️  Melhorar o sistema de autenticação para ter um servidor remoto.\n- [ ] 🔑 Criação de uma conta online.\n---\n\n## 📜 Licença\nO Tasky está sob a licença [MIT](LICENSE). Use, abuse, modifique e compartilhe. Só não esqueça de mandar aquele \"obrigado\" maroto. 😎\n\n## 🌍 Links Importantes\n\n- [Baixe o Tasky na Play Store]()\n- [Baixe o Tasky na Apple Store]()\n- [Acesse o site oficial]()\n- [Visite o repositório no GitHub](https://github.com/andrese/tasky)\n\n---\n\n## 🤝 Como Contribuir\n\nContribuições são bem-vindas! Se você deseja ajudar no desenvolvimento do **Tasky**, siga os passos abaixo:\n\n1. Faça um **fork** do repositório.\n2. Crie uma **branch** para suas modificações.\n3. Envie um **Pull Request** com suas sugestões.\n\nVamos construir juntos uma plataforma que ajude mais animais a encontrar seus lares para sempre!\n\n## ⬇ Baixe agora\n\n![Banner](assets/repo/banner.png)\n\n\u003cp\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=br.com.anjasolutions.tasky\"\u003e\n    \u003cimg src=\"assets/repo/Play Store Logo.png\" alt=\"Play Store Download\" width=\"256\"/\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"\"\u003e\n    \u003cimg src=\"assets/repo/App Store Logo.png\" alt=\"App Store Download\" width=\"256\" style=\"margin-right: 4px;\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nFeito com ❤️, café ☕ e algumas noites mal dormidas pelo seu desenvolvedor favorito. Baixe o Tasky e organize-se já (ou pelo menos finja que vai)! 😅\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandresilvase%2Ftasky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandresilvase%2Ftasky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandresilvase%2Ftasky/lists"}