🚀RocketNotes (Pc Only)

image

🔨Visão Geral

"RocketNotes" é uma aplicação web que permite aos usuários gerenciar suas notas e links úteis de forma eficiente. A aplicação possui uma interface de usuário intuitiva e recursos essenciais para criação, edição e exclusão de notas, pesquisa de notas com base em tags e títulos, além de recursos de perfil de usuário e autenticação.

Back-End

A aplicação requer um back-end para fornecer as seguintes funcionalidades essenciais:

  • Autenticação: O back-end deve oferecer autenticação de usuário, permitindo que os usuários façam login com segurança e mantenham sessões ativas.
  • Gestão de Usuários: O back-end deve permitir o cadastro e atualização de informações de usuário, como nome, e-mail, senha e imagem de perfil.
  • Gestão de Notas: Deve ser possível criar, editar, visualizar e excluir notas. As notas podem incluir títulos, descrições, links e tags.
  • Pesquisa de Notas: Os usuários devem ser capazes de pesquisar notas com base em títulos e tags.
  • Segurança: Deve haver medidas de segurança, como a geração e validação de tokens JWT (JSON Web Tokens) para proteger as rotas e dados sensíveis.

🔐Requisições:

Sessions:

POST / Create (Criação de um novo token Jwt que será necessário para as requisições):

{
  "email": "seu_email",
  "password": "sua_senha"
}

Users:

PATCH / Avatar:

Recebe a imagem do avatar que será salva no banco

POST / Create (Criação de usuários):

{
  "name": "seu_nome",
  "email": "seu_email",
  "password": "sua_senha"
}

PUT / Update (Atualiza dados do usuário):

{
  "name": "novo_nome",
  "email": "novo_email",
  "password": "nova_senha",
  "old_password": "senha_antiga"
}

Notes:

GET / Index (Retorna notas referentes a title e tags):

Queries: Title e Tags.

DELETE / Delete (Deleta uma nota):

Recebe o ID da nota por meio do route params.

GET / Read (Retorna a nota e as suas tags):

Recebe o ID da nota por meio do route params.

POST / Create (Cria uma nova nota):

{
  "title": "jegarne",
  "description": "Massa",
  "rating": 6,
  "tags": ["Pamonha", "raimundo"]
}

Tags:

GET / Index:

Retorna as tags que foram criadas nas notas pelo usuário.

Files:

GET / ? (Recebe o nome da imagem cadastrada no banco e a retorna):

Recebe o nome da imagem por meio do route params.

✔️Tecnologias Utilizadas:

Back-End (Tecnologias comuns em projetos Node.js):

  • Node.js: Plataforma de execução JavaScript.
  • Express: Framework Node.js para criação de APIs RESTful.
  • Banco de Dados (não especificado): Para armazenar informações de usuários e notas.
  • JWT (JSON Web Tokens): Para autenticação e segurança.
  • Multer: Biblioteca para manipular uploads de arquivos, como imagens de perfil.
  • Cors: Utilizado para habilitar as requisições entre origens (CORS) no servidor.

📝Resumo

"RocketNotes" é uma aplicação completa de gerenciamento de notas e links úteis que se baseia na tecnologia React no front-end e requer um back-end com funcionalidades de autenticação, gestão de usuários e notas, segurança e banco de dados. O projeto é uma solução eficaz para ajudar os usuários a organizar suas notas de maneira prática e eficiente.

Para acessar o site do "Rocket Notes", você pode clicar aqui.

🤝Desenvolvedores

Foto do Victor Mateus no GitHub