{"id":29117250,"url":"https://github.com/raizertechdev/taskflow-gerenciador-de-tarefas","last_synced_at":"2026-04-10T07:04:02.330Z","repository":{"id":296435010,"uuid":"988648989","full_name":"RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas","owner":"RaizerTechDev","description":"Gerencie tarefas com backend (Node/Express), frontend (React) e PostgreSQL – tudo rodando no Docker!","archived":false,"fork":false,"pushed_at":"2025-05-30T17:34:52.000Z","size":8570,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-31T01:30:03.678Z","etag":null,"topics":["docker-compose","dockerfiles","express","java-scripts","nodejs","postgresql-database","postman-collection","reactjs","tailwindcss","vite"],"latest_commit_sha":null,"homepage":"https://task-flow-gerenciador-de-tarefas-frontend.vercel.app","language":"JavaScript","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/RaizerTechDev.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}},"created_at":"2025-05-22T21:38:00.000Z","updated_at":"2025-05-30T17:34:56.000Z","dependencies_parsed_at":"2025-05-31T01:34:46.069Z","dependency_job_id":"680fecd0-960e-43e4-9fcf-42a0bfa062af","html_url":"https://github.com/RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas","commit_stats":null,"previous_names":["raizertechdev/taskflow-gerenciador-de-tarefas"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaizerTechDev%2FTaskFlow-Gerenciador-de-Tarefas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaizerTechDev%2FTaskFlow-Gerenciador-de-Tarefas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaizerTechDev%2FTaskFlow-Gerenciador-de-Tarefas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaizerTechDev%2FTaskFlow-Gerenciador-de-Tarefas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RaizerTechDev","download_url":"https://codeload.github.com/RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaizerTechDev%2FTaskFlow-Gerenciador-de-Tarefas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262588538,"owners_count":23333180,"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":["docker-compose","dockerfiles","express","java-scripts","nodejs","postgresql-database","postman-collection","reactjs","tailwindcss","vite"],"created_at":"2025-06-29T11:37:50.842Z","updated_at":"2026-04-10T07:04:02.309Z","avatar_url":"https://github.com/RaizerTechDev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" \u003cdiv align=\"center\"\u003e\r\n\r\n# Task Manager Application\r\n\r\n \u003cdiv align=\"center\"\u003e\r\n\r\n\u003cimg src=\"frontend/public/doc.png\" alt=\"Imagem-Documentacao\" height=\"35\" /\u003e\r\n\r\n[![Documentação](https://img.shields.io/badge/Documentação-Oficial-success)](https://github.com/RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas/blob/master/Documentation.md)\r\n\r\n[( Clique aqui para se `Cadastar` e criar suas `Tasks`)](https://task-flow-gerenciador-de-tarefas-frontend.vercel.app/)\r\n\r\n\u003cbr\u003e\r\n  \r\n\u003cimg src= \"https://media.giphy.com/media/3zSF3Gnr7cxMbi6WoP/giphy.gif\" align=\"center\" height=\"55\" width=\"55\"\u003e [Demonstração-Projeto-RaizerTech] \u003cimg src= \"https://media.giphy.com/media/E5DzZsofmgxc9wjbhX/giphy.gif\" align=\"center\" height=\"25\" width=\"25\"\u003e\r\n\r\n\u003cimg height=\"380em\" src=\"frontend/public/Readme-Demonstracao-Video.gif\"   align=\"center\"\u003e\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 📑 Índice\r\n\u003cdiv align=\"left\"\u003e\r\n \r\n- [Task Manager Application](#task-manager-application)\r\n- [Objetivo](#objetivo)\r\n- [Tecnologias](#tecnologias)\r\n- [Documentação da API](#-documentação-da-api)\r\n- [Configuração e Instalação dos Ambientes](#️configuração-e-instalação-dos-ambientes)\r\n  - [Pré-requisitos](#pré-requisitos)\r\n  - [Instalação FrontEnd](#-instalação-frontend)\r\n  - [Instalação Backend](#-instalação-backend) \r\n  - [Instalação Docker](#-instalação-do-docker)  \r\n- [Execução](#-execução)\r\n- [Banco de Dados](#️-banco-de-dados-postgresql)\r\n- [Frontend](#️-frontend)\r\n- [Implentações de Branches](#implementações-de-branches)\r\n- [Licença](#licença)\r\n- [Autor](#-autor)\r\n\r\n---\r\n\r\n\u003cdiv align=\"left\"\u003e\r\n\r\n## 🎯Objetivo\r\n\r\nUm aplicativo completo de gerenciamento de tarefas com backend (Node.js/Express), frontend (React) e banco de dados PostgreSQL, tudo containerizado com Docker.\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 🚀Tecnologias\r\n\r\n### Backend\r\n[![Node.js](https://img.shields.io/badge/Node.js-18.x-green?logo=node.js\u0026logoColor=white)](https://nodejs.org/)\r\n![Express](https://img.shields.io/badge/-Express-000000?logo=express)\r\n![PostgreSQL](https://img.shields.io/badge/-PostgreSQL-4169E1?logo=postgresql\u0026logoColor=black)\r\n![JWT](https://img.shields.io/badge/-JWT-000000?logo=json-web-tokens)\r\n\r\n### Frontend\r\n![React](https://img.shields.io/badge/-React-61DAFB?logo=react\u0026logoColor=black)\r\n![Vite](https://img.shields.io/badge/-Vite-646CFF?logo=vite\u0026logoColor=black)\r\n![JavaScript](https://img.shields.io/badge/-JavaScript-F7DF1E?logo=javascript\u0026logoColor=black)\r\n![TailwindCSS](https://img.shields.io/badge/-TailwindCSS-06B6D4?logo=tailwind-css\u0026logoColor=black)\r\n\r\n### DevOps\r\n![Docker](https://img.shields.io/badge/-Docker-2496ED?logo=docker\u0026logoColor=black)\r\n![Postman](https://img.shields.io/badge/-Postman-FF6C37?logo=postman\u0026logoColor=black)\r\n\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 📚 Documentação da API\r\n[Run in Postman](https://documenter.getpostman.com/view/19569624/2sB2qWH4Yv)\r\n\r\nEndpoints principais:\r\n\r\nPOST /api/auth/register - Registro de usuário\r\n\r\nPOST /api/auth/login - Autenticação\r\n\r\nGET /api/tasks - Listar tarefas\r\n\r\nPOST /api/tasks - Criar tarefa\r\n\r\nPUT /api/tasks/:id - Atualizar tarefa\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 🛠️Configuração e Instalação dos Ambientes\r\n\r\n### Pré-requisitos\r\n- Node.js v18+\r\n- Docker v20+\r\n- PostgreSQL 15\r\n\r\n### 📦 Instalação FrontEnd\r\n\r\n#### Criar projeto React com Vite\r\n```bash\r\nnpm create vite@latest . -- --template react\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n#### Dependências principais\r\n```bash\r\nnpm install axios react-router-dom react-icons react-toastify @heroicons/react date-fns\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n#### Dependências de desenvolvimento (TailwindCSS)\r\n```bash\r\nnpm install -D tailwindcss postcss autoprefixer\r\nnpx tailwindcss init -p\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n### 📦 Instalação BackEnd\r\n\r\n#### Dependências principais\r\n```bash\r\nnpm install express express-async-handler cors dotenv bcryptjs jest jsonwebtoken nodemon sequelize \r\n```\r\n\r\n### 🐋 Instalação do Docker\r\n\r\nAntes de executar os serviços, é necessário ter o Docker instalado. Siga as instruções de acordo com seu sistema operacional:\r\n\r\n#### Para Windows/macOS (Docker Desktop):\r\n\r\n- Baixe o Docker Desktop\r\n🔗 [Download Docker Desktop](https://www.docker.com/products/docker-desktop/)\r\n\r\n- Recomendado para desenvolvimento local.\r\n\r\n- Instale e Inicie\r\n\r\n- Execute o instalador baixado\r\n\r\n- Inicie o Docker Desktop após a instalação\r\n\r\n- Aguarde até que o ícone do Docker na bandeja/barra de menus indique que está em execução (⏳→🐳)\r\n\r\n#### Para Linux (Docker Engine):\r\n\r\n```bash\r\n1. Atualize os pacotes\r\nsudo apt-get update\r\n\r\n2. Instale dependências\r\nsudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common\r\n\r\n3. Adicione o repositório oficial do Docker\r\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg\r\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list \u003e /dev/null\r\n\r\n4. Instale o Docker Engine\r\nsudo apt-get update\r\nsudo apt-get install -y docker-ce docker-ce-cli containerd.io\r\n\r\n5. Adicione seu usuário ao grupo docker (evita usar sudo)\r\nsudo usermod -aG docker $USER\r\nnewgrp docker  # Recarrega as permissões (ou reinicie o terminal)\r\nde teste\r\n```\r\n\r\n#### Verifique a Instalação\r\nbash\r\ndocker --version           # Deve mostrar a versão instalada\r\ndocker run hello-world     # Executa um contêiner \r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n\r\n#### Dependências Backend + Frontend + Docker\r\n```bash\r\nnpm install\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n#### Listar dependências instaladas\r\n```bash\r\nnpm list\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 🚀 Execução\r\n\r\n### Iniciar todos os serviços (Docker)\r\n\r\n```bash\r\ndocker-compose -f docker/docker-compose.yml up --build\r\n```\r\n\r\n- Portas:\r\n  - Backend: 5000\r\n\r\n  - Frontend: 5173\r\n\r\n  - Postgres: 5432\r\n\r\n\u003cbr\u003e\r\n\r\n### Parar todos os serviços\r\n```bash\r\ndocker-compose -f docker/docker-compose.yml down -v\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n### Limpeza de recursos Docker\r\n\r\n- Limpar recursos não utilizados\r\n```bash\r\n# Limpar recursos não utilizados\r\ndocker system prune -a\r\n\r\n# Remover volumes não utilizados\r\ndocker volume prune\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 🗄️ Banco de Dados (PostgreSQL)\r\n\r\n### Acessar o banco de dados ```localhost```\r\n```bash\r\ndocker exec -it postgres-db psql -U postgres -d taskmanager\r\n```\r\n\r\n### Acessar o banco de dados no ```Neon```\r\n```bash\r\npsql \"postgresql://[DB_USER]:[DB_PASSWORD]@[DB_HOST]]/taskmanager?sslmode=require\"\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n### Comandos úteis no PostgreSQL\r\n```sql\r\n-- Listar todas as tabelas\r\n\\dt\r\n\r\n-- Descrever estrutura da tabela Tasks\r\n\\d \"Tasks\"\r\n\r\n-- Consultar dados da tabela Tasks\r\nSELECT * FROMs \"Tasks\";\r\n\r\n-- Consultar dados da tabela Tasks por \"userId\" e verificar \"status\"\r\nSELECT * FROM \"Tasks\" ORDER BY \"userId\" ;\r\n\r\n-- Consultar dados da tabela Tasks por \"userId\" e verificar \"status\"\r\nSELECT t.* FROM \"Tasks\" t JOIN \"Users\" u ON t.\"userId\" = u.id AND u.id = 2 ORDER BY t.\"status\";\r\n\r\n-- Consultar dados da tabela Tasks por \"username\" e omite \"userId\"\r\nSELECT t.id, t.title,  t.description, t.status,  t.\"taskDate\", u.username FROM \"Tasks\" t  JOIN \"Users\" u ON t.\"userId\" = u.id  WHERE u.username = 'Rafa'  ORDER BY t.\"status\";\r\n\r\n-- Exemplo: Renomear coluna\r\nALTER TABLE \"Tasks\" RENAME COLUMN \"dueDate\" TO \"taskDate\";\r\n\r\n-- Verificar alterações\r\n\\d \"Tasks\"\r\n```\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## 🖥️ Frontend\r\n\r\n### Build de produção\r\n```bash\r\nnpm run build\r\n```\r\n\r\n### Desenvolvimento FrontEnd\r\n```bash\r\nnpm run dev\r\n```\r\n\r\n- Portas:\r\n  - Frontend: 5180\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n## Implementações de branches\r\n\r\n1. Desenvolvimento Front-End  \r\n  - [release/desenvolvimento-front-end](https://github.com/RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas/tree/release/frontend/frontend)\r\n  \r\n2. Desenvolvimento Back-End \r\n- [release/desenvolvimento-back-end](https://github.com/RaizerTechDev/TaskFlow-Gerenciador-de-Tarefas/tree/master/backend) \r\n\r\nbr\u003e\r\n\r\n---\r\n\r\n## Licença\r\n\r\n- Esse projeto está sob a licença MIT.\r\n\r\n\u003cbr\u003e\r\n\r\n---\r\n\r\n##### 👤 Autor\r\n\r\n\u003cp\u003e\r\n    \u003cimg align=left margin=10 width=80 src=\"https://avatars.githubusercontent.com/u/87991807?v=4\"/\u003e\r\n    \u003cp\u003e\u0026nbsp\u0026nbsp\u0026nbspRafaRaizer-Dev\u003cbr\u003e\r\n    \u0026nbsp\u0026nbsp\u0026nbsp\u003ca href=\"https://api.whatsapp.com/send/?phone=47999327137\"\u003eWhatsapp\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\u003ca href=\"https://www.linkedin.com/in/rafael-raizer//\"\u003eLinkedIn\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\u003ca href=\"https://github.com/RaizerTechDev\"\u003eGitHub\u003c/a\u003e|\u0026nbsp;\u003ca href=\"https://public.tableau.com/app/profile/rafael.raizer\"\u003eTableau\u003c/a\u003e|\u0026nbsp;\u003ca href=\"https://raizertechdev-portfolio.netlify.app/\"\u003ePortfólio\u003c/a\u003e\u0026nbsp;\u003c/p\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraizertechdev%2Ftaskflow-gerenciador-de-tarefas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraizertechdev%2Ftaskflow-gerenciador-de-tarefas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraizertechdev%2Ftaskflow-gerenciador-de-tarefas/lists"}