{"id":26235853,"url":"https://github.com/sub-dev/task-management-app","last_synced_at":"2026-04-02T02:50:59.050Z","repository":{"id":248915321,"uuid":"830150289","full_name":"Sub-Dev/task-management-app","owner":"Sub-Dev","description":"Aplicação de gerenciamento de tarefas fullstack, utilizando React.js no frontend, NestJS para a API no backend, PostgreSQL para o banco de dados e Docker para conteinerização.","archived":false,"fork":false,"pushed_at":"2024-09-23T13:35:13.000Z","size":76304,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T03:18:05.563Z","etag":null,"topics":["axios","docker","material-ui","nestjs","postgresql","react","reactjs","typeorm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Sub-Dev.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-07-17T17:35:34.000Z","updated_at":"2024-10-04T14:57:25.000Z","dependencies_parsed_at":"2024-07-23T01:08:40.770Z","dependency_job_id":"445dac31-4eb3-4718-8bdb-510621ffc035","html_url":"https://github.com/Sub-Dev/task-management-app","commit_stats":null,"previous_names":["sub-dev/task-management-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sub-Dev/task-management-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sub-Dev%2Ftask-management-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sub-Dev%2Ftask-management-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sub-Dev%2Ftask-management-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sub-Dev%2Ftask-management-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sub-Dev","download_url":"https://codeload.github.com/Sub-Dev/task-management-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sub-Dev%2Ftask-management-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260852154,"owners_count":23072603,"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":["axios","docker","material-ui","nestjs","postgresql","react","reactjs","typeorm"],"created_at":"2025-03-13T03:18:11.281Z","updated_at":"2025-10-14T21:09:27.629Z","avatar_url":"https://github.com/Sub-Dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"TaskLogo\" title=\"TaskMaster\" src=\".github/logo-no-background.png\" width=\"200px\" /\u003e\n\u003c/p\u003e\n\u003ch3 align = \"center\" fontSize=\"60px\"\u003e\n  Task Management App aplicativo fullstack de gerenciamento de tarefas\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ch3 align = \"center\" fontSize=\"60px\"\u003e\n    Task Management App DEMO\n  \u003c/h3\u003e\n  \u003cimg alt=\"Interface da aplicação Homepage\" src=\".github/homepage2.gif\" width=\"100%\"\u003e\n  \u003cimg alt=\"Interface da aplicação geral\" src=\".github/task-management.gif\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\" style=\"font-size: 60px;\"\u003e\n  Task Management App Imagens (Mais imagens no final do README)\n\u003c/h3\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg alt=\"Interface da aplicação\" src=\".github/frontend-dashboard-v4.png\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg alt=\"Interface Projetos\" src=\".github/frontend-projects-v3.png\" width=\"100%\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg alt=\"Interface Kanban\" src=\".github/frontend-kanban-v4.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n# Task Management App\n\n## 💻 Descrição\n\nEste aplicativo fullstack de gerenciamento de tarefas é uma demonstração do meu progresso na aplicação de tecnologias modernas de desenvolvimento web. No desenvolvimento deste projeto, estou explorando e aprimorando minhas habilidades nas seguintes áreas se utilizando das seguintes tecnologias para o desenvolver da aplicação:\n\n- ![React](https://img.shields.io/badge/-React.js-61DAFB?style=flat\u0026logo=react\u0026logoColor=black)  \n  Utilizado para criar uma interface de usuário dinâmica e responsiva, com o objetivo de melhorar a experiência do usuário e a interação com a aplicação.\n\n- ![NestJS](https://img.shields.io/badge/-NestJS-E0234E?style=flat\u0026logo=nestjs\u0026logoColor=white)  \n  Implementado para construir uma API de back-end robusta e escalável, proporcionando uma base sólida para a manipulação de dados e lógica de negócios.\n\n- ![PostgreSQL](https://img.shields.io/badge/-PostgreSQL-336791?style=flat\u0026logo=postgresql\u0026logoColor=white)  \n  Escolhido para o armazenamento de dados, com o intuito de garantir eficiência e confiabilidade no gerenciamento e recuperação de informações.\n\n- ![Docker](https://img.shields.io/badge/-Docker-2496ED?style=flat\u0026logo=docker\u0026logoColor=white)  \n  Utilizado para conteinerização, facilitando a implantação contínua e a gestão de ambientes de desenvolvimento e produção.\n\n- ![Redis](https://img.shields.io/badge/-Redis-D32F2F?style=flat\u0026logo=redis\u0026logoColor=white)  \n  Integrado para cache melhorando a performance do aplicativo e a eficiência no armazenamento temporário de dados.\n\n- ![React Beautiful DnD](https://img.shields.io/badge/-React%20Beautiful%20DnD-00D8FF?style=flat)  \n  Utilizado no Kanban board para permitir a funcionalidade de arrastar e soltar tarefas, proporcionando uma experiência interativa e intuitiva.\n\n- ![Chart.js](https://img.shields.io/badge/-Chart.js-FCA121?style=flat\u0026logo=chart.js\u0026logoColor=black)  \n  Implementado para criar gráficos e visualizações de dados, permitindo a apresentação visual de métricas e estatísticas relacionadas ao gerenciamento de tarefas.\n\n- ![Axios](https://img.shields.io/badge/-Axios-5A29E3?style=flat\u0026logo=axios\u0026logoColor=white)  \n  Utilizado para fazer requisições HTTP à API, facilitando a comunicação entre o frontend e o backend.\n\n- ![JWT](https://img.shields.io/badge/-JWT-000000?style=flat\u0026logo=json-web-tokens\u0026logoColor=white)  \n  Implementado para autenticação segura e gerenciamento de sessões de usuário, garantindo que os usuários estejam autenticados e autorizados a acessar recursos protegidos.\n\n- ![Swagger](https://img.shields.io/badge/-Swagger-85EA2D?style=flat\u0026logo=swagger\u0026logoColor=black)  \n  Utilizado para documentar e testar os endpoints da API, facilitando a interação com a documentação da API e melhorando a compreensão dos recursos disponíveis.\n\n- ![Adminer](https://img.shields.io/badge/-Adminer-6D6D6D?style=flat)\n  Ferramenta de gerenciamento de banco de dados com uma interface de usuário amigável.\n\nEstou constantemente aprendendo e aplicando novas técnicas e boas práticas para otimizar a performance e a escalabilidade do aplicativo. Este projeto não apenas me permite explorar novas tecnologias, mas também me desafia a resolver problemas complexos e a melhorar minhas habilidades de desenvolvimento.\n\n## 📊 Progresso do Projeto\n\n### Progresso Total\n\n![Progresso Total](https://geps.dev/progress/100)\n\n- **Progresso Total**: 100% concluído\n- **Descrição**:\n  1. Implementação inicial concluída, estrutura básica do projeto configurada.\n  2. Configurações básicas do frontend e backend finalizadas.\n  3. Implementação de funcionalidades básicas concluída.\n  4. Página Home do frontend completa.\n  5. Endpoints do backend em funcionamento.\n  6. Implementação de funcionalidades como CRUD de tarefas e autenticação de usuários.\n  7. Configuração do banco de dados PostgreSQL utilizando Docker.\n  8. Criação da estrutura básica do frontend com React.js e Material-UI.\n  9. Ajustes finais implementados.\n\n### Frontend\n\n![Progresso Frontend](https://geps.dev/progress/100)\n\n- **Frontend**: 100% concluído\n- **Descrição**:\n  1. Estrutura do frontend configurada, começando a implementação dos componentes principais.\n  2. Criação das telas de login, cadastro e dashboard com o Kanban inicial.\n  3. Desenvolvimento de componentes principais, como Header e Footer.\n  4. Integração do Kanban com as funcionalidades de arrastar e soltar utilizando React Beautiful DnD.\n  5. Implementação de gráficos e visualizações de dados com React-chartjs-2.\n\n### Backend\n\n![Progresso Backend](https://geps.dev/progress/100)\n\n- **Backend**: 100% concluído\n- **Descrição**:\n  1. Estrutura básica do backend configurada, com início da implementação da API e integração com o banco de dados.\n  2. Configuração do JWT para autenticação segura, incluindo login e cadastro de usuários.\n  3. Finalização do CRUD básico para usuários, tarefas, colunas e projetos, com endpoints devidamente configurados.\n  4. Implementação da API utilizando NestJS e TypeORM.\n  5. Criação de endpoints para CRUD de tarefas e autenticação de usuários.\n  6. Configuração completa do JWT para autenticação segura.\n  7. Implementação de validação de objetos e propriedades com Class-Validator e Class-Transformer.\n  8. Adição do Swagger para documentação da API, permitindo testes interativos dos endpoints.\n  9. Integração do Redis para cache.\n\n## 🎨 Tecnologias Utilizadas\n\n### 🌐 Frontend\n\n- ![React](https://img.shields.io/badge/-React-61DAFB?style=flat\u0026logo=react\u0026logoColor=black)\n  Biblioteca JavaScript para construção de interfaces de usuário dinâmicas e responsivas.\n\n- ![Material-UI](https://img.shields.io/badge/-Material--UI-007FFF?style=flat\u0026logo=material-ui\u0026logoColor=white)\n  Biblioteca de componentes React para um design moderno e responsivo.\n\n- ![Axios](https://img.shields.io/badge/-Axios-5A29E3?style=flat\u0026logo=axios\u0026logoColor=white)\n  Cliente HTTP para fazer requisições à API.\n\n- ![React Beautiful DnD](https://img.shields.io/badge/-React%20Beautiful%20DnD-00D8FF?style=flat)  \n   Utilizado no Kanban board para permitir a funcionalidade de arrastar e soltar tarefas, proporcionando uma experiência interativa e intuitiva.\n\n- ![Chart.js](https://img.shields.io/badge/-Chart.js-FCA121?style=flat\u0026logo=chart.js\u0026logoColor=black)  \n  Implementado para criar gráficos e visualizações de dados, permitindo a apresentação visual de métricas e estatísticas relacionadas ao gerenciamento de tarefas.\n\n---\n\n### ⚙️ Backend\n\n- ![NestJS](https://img.shields.io/badge/-NestJS-E0234E?style=flat\u0026logo=nestjs\u0026logoColor=white)\n  Framework Node.js para construção de aplicações server-side escaláveis.\n\n- ![TypeORM](https://img.shields.io/badge/-TypeORM-6A5DAB?style=flat)\n  ORM para TypeScript e JavaScript (ES7, ES6, ES5).\n\n- ![JWT](https://img.shields.io/badge/-JWT-000000?style=flat\u0026logo=json-web-tokens\u0026logoColor=white)\n  Mecanismo para autenticação segura usando tokens JSON Web.\n\n- ![Class-Validator](https://img.shields.io/badge/-Class--Validator-1E1E1E?style=flat)\n  Biblioteca para validação de objetos e propriedades.\n\n- ![Class-Transformer](https://img.shields.io/badge/-Class--Transformer-1E1E1E?style=flat)\n  Biblioteca para transformar objetos em classes e vice-versa.\n\n- ![Swagger](https://img.shields.io/badge/-Swagger-85EA2D?style=flat\u0026logo=swagger\u0026logoColor=black)\n  Ferramenta para documentação e teste de APIs RESTful.\n\n- ![Redis](https://img.shields.io/badge/-Redis-D32F2F?style=flat\u0026logo=redis\u0026logoColor=white)\n  Sistema de armazenamento em memória para cache e gerenciamento de sessões.\n\n---\n\n### 🗄️ Banco de Dados\n\n- ![PostgreSQL](https://img.shields.io/badge/-PostgreSQL-336791?style=flat\u0026logo=postgresql\u0026logoColor=white)\n  Sistema de gerenciamento de banco de dados relacional poderoso e open-source.\n\n#### 🗄️ Modelo ER\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Interface da aplicação Homepage\" src=\".github/Modelo-ER-v2.0-TaskManagement.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n---\n\n### 🚀 DevOps\n\n- ![Docker](https://img.shields.io/badge/-Docker-2496ED?style=flat\u0026logo=docker\u0026logoColor=white)\n  Plataforma para desenvolvimento, envio e execução de aplicações em containers.\n\n- ![Docker Compose](https://img.shields.io/badge/-Docker%20Compose-2496ED?style=flat\u0026logo=docker\u0026logoColor=white)\n  Ferramenta para definir e gerenciar multi-containers Docker.\n\n- ![Adminer](https://img.shields.io/badge/-Adminer-6D6D6D?style=flat)\n  Ferramenta de gerenciamento de banco de dados com uma interface de usuário amigável.\n\n---\n\n### 🎨 Design e Modelagem\n\n- ![dbDesigner](https://img.shields.io/badge/-dbDesigner-6D6D6D?style=flat)\n  Ferramenta online para modelagem de banco de dados ER.\n\n- ![Figma](https://img.shields.io/badge/-Figma-F24E1E?style=flat\u0026logo=figma\u0026logoColor=white)\n  Ferramenta para design de interface e prototipagem colaborativa.\n\n## 📚 Aprendizados e erros cometidos no projeto\n\nDurante o desenvolvimento deste projeto, adquiri conhecimentos valiosos em diversas áreas:\n\n🔁 Dependência Circular\n\n- Uma das lições mais significativas foi sobre dependências circulares. Esse problema ocorre quando duas ou mais entidades referenciam-se mutuamente, criando um ciclo. Isso pode causar dificuldades na manutenção, aumentar a complexidade do código e dificultar a compreensão do fluxo de dados.\n\n- No projeto, encontrei dependências circulares entre as entidades User, Task e Project. Cada uma dessas entidades possui relações que acabam formando um loop. Abaixo estão os trechos de código que mostram esse comportamento:\n\n### Entidade User\n\n```typescript\n@ManyToMany(() =\u003e Project, project =\u003e project.users)\nprojects: Project[];\n\n@ManyToMany(() =\u003e Task, task =\u003e task.users)\ntasks: Task[];\n\n@OneToMany(() =\u003e Task, task =\u003e task.created_by)\ntasks_created: Task[];\n```\n\n### Entidade Task\n\n```typescript\n@ManyToOne(() =\u003e Project, project =\u003e project.tasks)\nproject: Project;\n\n@ManyToMany(() =\u003e User, user =\u003e user.tasks)\nusers: User[];\n\n@ManyToOne(() =\u003e User, user =\u003e user.tasks_created)\ncreated_by: User;\n\n@ManyToOne(() =\u003e KanbanColumn, column =\u003e column.tasks)\ncolumn: KanbanColumn;\n```\n\n### Entidade Project\n\n```typescript\n@ManyToMany(() =\u003e User, (user) =\u003e user.projects)\nusers: User[];\n\n@OneToMany(() =\u003e Task, task =\u003e task.project)\ntasks: Task[];\n\n@OneToMany(() =\u003e KanbanColumn, column =\u003e column.project)\ncolumns: KanbanColumn[];\n```\n\n- Essas inter-relações criam um ciclo de dependência, onde as entidades User, Task e Project dependem umas das outras. Por exemplo, Task depende de User para saber quem criou a tarefa, enquanto User depende de Task para armazenar as tarefas criadas. O mesmo ocorre com Project, que está relacionado tanto a Task quanto a User. Essas dependências circulares podem tornar o código difícil de entender, testar e manter.\n\n📊 Análise de Banco de Dados\n\n- Compreendi melhor como projetar uma modelagem de banco de dados eficiente, garantindo que as relações entre entidades fossem bem planejadas e otimizadas.\n\n🔐 Criptografia Simétrica\n\n- Criptografia para mascarar IDs nas URLs do Kanban, melhorando a privacidade e segurança das informações sensíveis.\n\n🛡 JWT (JSON Web Tokens)\n\n- Estudei o uso de JWTs e entendi que é fundamental não armazenar tokens no localStorage por questões de segurança. Além disso, passarei a evitar a inclusão de dados sensíveis no payload do token.\n\n🏗 Planejamento de Arquitetura\n\n- Aprendi a importância de um planejamento detalhado da arquitetura da aplicação, incluindo a interface de usuário no frontend e o fluxo de dados entre backend e frontend.\n\n🔍 Validação de Entrada de Dados\n\n- Validações robustas para garantir a integridade dos dados e prevenir falhas causadas por entradas incorretas.\n\n🚀 Performance de Aplicações\n\n- Explorei técnicas para otimizar a performance da aplicação, como o uso de cache e uma gestão eficiente de sessões de usuário.\n\n🛠 Integração Contínua\n\n- Configurei ambiente de desenvolvimento com Docker, o que facilitou o trabalho e a entrega contínua de novas funcionalidades.\n\nEstou continuamente aprendendo e adaptando as melhores práticas para aplicar futuramente em cada etapa do desenvolvimento que tiver em projetos futuros.\n\n## Funcionalidades\n\n- [x] Autenticação e autorização de usuários na manipulação das tarefas de projetos\n- [x] CRUD de tarefas\n- [x] Gestão de projetos\n- [x] Kanban para visualização das tarefas\n- [x] Refatoração do backend para funcionamento de autenticação de usuários por JWT\n- [x] Implementação de validação de dados para evitar erros de entrada de dados\n- [x] Compartilhamento de projetos entre usuarios do sistema\n- [x] Funcionalidade de alterar imagem do usuario na edição do perfil\n\n## Estrutura do Projeto\n\n- backend/: API NestJS\n- frontend/: Aplicação React.js\n- database/: Configuração do PostgreSQL\n\n## Como Executar o Projeto\n\n### Pré-requisitos\n\n- Docker\n- Docker Compose\n\n### Passos para Clonar e Configurar\n\n```bash\ngit clone https://github.com/Sub-Dev/task-management-app.git\ncd task-management-app\ncd frontend\nnpm install\ncd backend\nnpm install\n```\n\nLembrar de altera o arquivo .env.example para .env e com os dados necessarios na pasta de backend. 😊\n\n### Instruções para Executar com Docker\n\n```bash\ndocker-compose up --build\n```\n\n## Acessar o Adminer\n\nDepois que o Docker Compose estiver em execução, você pode acessar o Adminer para gerenciar seu banco de dados PostgreSQL navegando até:\n\n```bash\nhttp://localhost:8080\n```\n\n## Endpoints da API\n\nA API estará disponível em:\n\n```bash\nhttp://localhost:4000\n```\n\n## Swagger\n\nE o Swagger estará disponível em:\n\n```bash\nhttp://localhost:4000/api-docs\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Swagger\" src=\".github/swagger.png\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n## Aplicação Frontend\n\nA aplicação frontend estará disponível em:\n\n```bash\nhttp://localhost:3000\n```\n\n## 👥 Autor\n\n\u003ctable\u003e\n \u003ctr\u003e\n \u003ctd alinhar=\"centro\"\u003e\n \u003ca href=\"https://github.com/Sub-Dev\" target=\"_blank\"\u003e\n \u003cimg src=\"https://avatars.githubusercontent.com/u/68450692?v=4\" alt=\"Anthony-Marin\" height=\"30\" width=\"30\"/\u003e\n \u003c/a\u003e\n \u003c/td\u003e\n \u003ctd\u003e\n \u003cstrong\u003eAnthony Marin\u003c/strong\u003e (Sub-Dev) - \u003ca href=\"https://github.com/Sub-Dev\"\u003ePerfil no GitHub\u003c/a\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n\u003c/table\u003e\n\n## Mais Imagens do Projeto\n\n\u003ctable\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\u003cimg alt=\"Interface Signin\" src=\".github/frontend-signin-v1.png\" width=\"100%\"\u003e\u003c/td\u003e  \n  \u003ctd\u003e\u003cimg alt=\"Interface Signup\" src=\".github/frontend-signup-v1.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Perfil\" src=\".github/frontend-perfil-v2.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Dashboard\" src=\".github/frontend-dashboard-v4.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Projetos\" src=\".github/frontend-projects-v3.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Kanban\" src=\".github/frontend-kanban-v4.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Loading\" src=\".github/loading-page.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Mais Imagens do Projeto Tela Home Page\n\n\u003ctable\u003e\n  \u003ctr\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Home Page 1\" src=\".github/frontend-homepage-v2-1.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Home Page 2\" src=\".github/frontend-homepage-v2-2.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Home Page 3\" src=\".github/frontend-homepage-v2-3.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Home Page 4\" src=\".github/frontend-homepage-v2-4.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003ctd\u003e\u003cimg alt=\"Interface Home Page 5\" src=\".github/frontend-homepage-v2-5.png\" width=\"100%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Licença\n\nEste projeto está licenciado sob a Licença MIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsub-dev%2Ftask-management-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsub-dev%2Ftask-management-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsub-dev%2Ftask-management-app/lists"}