- O TaskFlow é um sistema de gerenciamento de tarefas projetado para simplificar e otimizar sua rotina diária.
- Com uma abordagem centrada no usuário, nosso objetivo é proporcionar uma experiência fluida e intuitiva, permitindo que você mantenha o controle total sobre suas tarefas de forma eficiente.
- Criar / editar / excluir tarefas
- Organizar por categoria
- Priorizar tarefas
- Atribuir prazos
- Filtrar e pesquisar
- Html
- CSS
- Javascript
- Node.js
- Express
- MySQL
Para começar, clone o repositório:
# comando para clonar o repositório
$ git clone https://github.com/gustavoaraujofs/TaskFlow.gitApós clonar o repositório, é necessário criar um banco de dados MySQL e as tabelas necessárias.
# Comando para criar o banco de dados no MySQL
$ CREATE DATABASE database_name;Certifique-se de seguir a ordem de criação das tabelas para evitar erros de dependência:
- usuarios
- categorias
- tarefas
As tabelas devem ser criadas nessa ordem específica para garantir que as chaves estrangeiras sejam configuradas corretamente. Primeiro, criamos a tabela usuarios, já que as outras tabelas dependem dela. Em seguida, criamos a tabela categorias, que referencia usuarios. Por último, criamos a tabela tarefas, que depende tanto de usuarios quanto de categorias.
# Código SQL para criar a tabela USUARIOS
$ CREATE TABLE usuarios (
id_usuario INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
nome VARCHAR(100) NOT NULL,
email VARCHAR(50) UNIQUE NOT NULL,
senha VARCHAR(255) NOT NULL
);# Código SQL para criar a tabela CATEGORIAS
CREATE TABLE categorias (
id_categoria INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
nome VARCHAR(55) NOT NULL,
usuario_id INT NOT NULL,
FOREIGN KEY (usuario_id) REFERENCES usuarios(id_usuario)
);# Código SQL para criar a tabela TAREFAS
CREATE TABLE tarefas (
id_tarefa INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
titulo VARCHAR(55) NOT NULL,
descricao VARCHAR(255),
prioridade VARCHAR(10),
prazo_final DATE,
status VARCHAR(12) NOT NULL,
usuario_id INT NOT NULL,
categoria_id INT,
FOREIGN KEY (usuario_id) REFERENCES usuarios(id_usuario),
FOREIGN KEY (categoria_id) REFERENCES categorias(id_categoria)
);Na raiz do projeto, há um arquivo chamado .env.example. Este arquivo contém 5 campos que precisam ser preenchidos em um arquivo nomeado .env. Você pode criar este arquivo ou renomear o arquivo de exemplo. Preencha os campos com os dados relacionados ao seu banco de dados.
PORT= (Porta em que o servidor será executado)
MYSQL_HOST= (O host da sua máquina, por padrão é 'localhost')
MYSQL_USER= (Seu nome de usuário, por padrão o MySQL usa 'root')
MYSQL_PASSWORD= (A senha que você escolheu ao instalar o MySQL)
MYSQL_DB= (O nome do banco de dados que você criou anteriormente.)
JWT_SECRET= (Uma sequência qualquer de letras números e caráteres que será usada para criação do token de autenticação)Antes de iniciar a aplicação, precisamos instalar as dependências node_modules. Para isso, abra o terminal da sua IDE e navegue até a pasta "backend".
# Comando para instalar as dependências
$ npm installFinalmente, execute o comando para iniciar o servidor (ainda dentro da pasta "backend") e abra o arquivo "login.html".
# Comando para iniciar o servidor
$ npm start- Gustavo Araújo - @gustavoaraujofs
- Welison Andrade - @welisonandrade