Skip to content

riqueLenis/taskflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

TaskFlow - Mini Gerenciador de Tarefas

Bem-vindo ao TaskFlow, um mini gerenciador de tarefas. A aplicação permite que usuários se cadastrem, façam login e gerenciem suas tarefas diárias de forma simples e eficiente.

image image ![taskflow](https://github.com/user-attachments/assets/6356f229-7f1b-4805-b674-e9d087a1d232)

Funcionalidades Principais

Autenticação de Usuários: Sistema completo de Cadastro e Login com segurança via JSON Web Tokens (JWT).

Gerenciamento de Tarefas (CRUD):

Criar novas tarefas com título, descrição e status.

Listar todas as tarefas vinculadas ao usuário logado.

Atualizar o título, descrição e status de tarefas existentes.

Excluir tarefas que não são mais necessárias.

Segurança: Rotas do backend e frontend protegidas, garantindo que apenas usuários autenticados possam acessar e manipular seus próprios dados.

Validação de Formulários: Validação robusta em tempo real no frontend para garantir a integridade dos dados inseridos.

Tecnologias Utilizadas

Este projeto foi construído utilizando uma stack moderna e robusta, focada em performance e boas práticas de desenvolvimento.

Backend Node.js com Express para a criação da API REST.

TypeScript para tipagem estática e segurança no código.

MySQL como banco de dados relacional.

Sequelize com sequelize-typescript como ORM para modelagem e manipulação do banco de dados.

JSON Web Token (JWT) para o fluxo de autenticação.

Bcrypt.js para hashing seguro de senhas.

Frontend Next.js como framework React para renderização e roteamento.

TypeScript para componentes e lógica tipada.

TailwindCSS para estilização rápida e responsiva.

React Hook Form para gerenciamento de formulários.

Zod para validação de esquemas de formulário.

Axios para consumo da API REST do backend.

React Context API para gerenciamento de estado global de autenticação.

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina:

Node.js (versão 18.x ou superior)

NPM ou Yarn

Um cliente MySQL (como o MySQL Workbench) ou Docker para rodar uma instância do MySQL.

Rodando o Projeto Localmente

Navegue para a pasta do backend Instale as dependências Crie uma cópia do arquivo de exemplo de variáveis de ambiente Abra o arquivo .env e preencha com suas credenciais do banco de dados MySQL. Você precisará criar um banco de dados com o nome que definir em DB_NAME. Exemplo do arquivo .env: Execute as Migrations do Banco de Dados: npx sequelize-cli db:migrate

Volte para a raiz e navegue para a pasta do frontend

npm install Crie o arquivo de ambiente local (não precisa de .env.example) e adicione a URL da sua API backend

Executando a Aplicação

Dentro da pasta /backend: npm run dev

Dentro da pasta /frontend: npm run dev OBS: o caminho para acessar é este: http://localhost:3000/auth/login conforme o git merge (os arquivos originais)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published