To-do-list

šŸ“ To-do List


šŸ“Œ Sobre o Projeto

O To-do List é uma aplicação completa para gerenciamento de tarefas que implementa o conceito de Persistência Poliglota, utilizando diferentes bancos de dados para atender a diferentes necessidades da aplicação. O objetivo é fornecer uma lista de tarefas eficiente, segura e organizada, onde cada usuÔrio possui seu próprio histórico e personalização, separados de forma lógica no backend.

Arquitetura de Banco de Dados (Polyglot Persistence)

A aplicação utiliza uma abordagem de Micro-serviços de Banco de Dados:


✨ Funcionalidades

Front-end (Aplicação Cliente)

Back-end (API com Autenticação)


šŸš€ Tecnologias Utilizadas

| Componente | Tecnologia | Modulo | :— | :— | :— | | Front-end | HTML5, CSS3, JavaScript | Aplicação cliente Pura com persistĆŖncia em (localStorage) | | Back-end | Node.js, Express | Servidor API | | Autenticação | JWT, bcryptjs | Geração de token e hash de senha | | DB (UsuĆ”rios/Auth) | PostgreSQL | ORM: Sequelize | | DB (Tarefas/Tasks) | MongoDB | ODM: Mongoose | —

āš™ļø Como ComeƧar

Siga estas instruƧƵes para configurar e rodar o projeto localmente.

PrƩ-requisitos

Instalação

1 - Clone o repositório:

    git clone [(https://github.com/FaelAlvezzz/To-do-list)](cd To-do-list)

2 - Instale as dependĆŖncias do Back-end:

    npm install
    # ou
    yarn install

3 - Configuração do .env: Crie um arquivo chamado .env na raiz do projeto e configure as variÔveis de ambiente necessÔrias para a conexão com os dois bancos de dados e o JWT:

```Snippet de código # Servidor PORT=5000

# JWT 
JWT_SECRET=sua_chave_secreta_aqui

# Configuração do PostgreSQL (UsuÔrios)
DB_HOST=localhost
DB_USER=postgres_user
DB_PASSWORD=postgres_password
DB_NAME=todo_list_db

# Configuração do MongoDB (Tarefas)
MONGO_URI=mongodb://localhost:27017/todo-tasks   ```

Execução

1 - Inicie o servidor Node.js:

    npm start 
    # ou 
    node server.js  

Você verÔ as mensagens de conexão bem-sucedida para PostgreSQL e MongoDB.

2 - Acesse o Front-end: Abra o arquivo index.html em seu navegador web para a interface da lista de tarefas.


šŸ¤ Contribuição

Contribuições são bem-vindas! Se você deseja adicionar funcionalidades como filtros de tarefas, edição de itens, ou otimizar a conexão de banco de dados, sinta-se à vontade para abrir uma Issue ou um Pull Request.

1- FaƧa um Fork do projeto.

2- Crie uma branch para sua Feature (git checkout -b feature/minha-feature).

3- FaƧa o Commit das suas alteraƧƵes (git commit -m ā€˜feat: Adiciona nova funcionalidade X’).

4- FaƧa o Push para a Branch (git push origin feature/minha-feature).

5- Abra um Pull Request.


āœ‰ļø Contato Rafael Alves - [FaelAlvezzz@gmail.com]

Link do Projeto: https://github.com/FaelAlvezzz/To-do-list