GLCalegaro / Projeto-Labeddit-Back-end

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projeto Labeddit (Back-end)

🗒️ Sobre

O Objetivo deste projeto Web Full Stack proposto no Bootcamp Labenu, é funcionar como uma rede social e está dividido em 2 repositórios (Labeddit-Back-End e Labeddit-Front-End). Dentro do aplicativo, você poderá criar seu cadastro e interagir com as publicações (curtir, comentar, editar) de outros usuários.

A API foi construida com o objetivo de gerenciar as informações da Base de Dados da aplicação do Labeddit, onde você pode manipular informações de cadastro de usuários e suas publicações.

Descrição do projeto:

Para a API foram modeladas 5 entidades: USERS(usuários), POSTS(publicação), COMMENTS(comentários), LIKES_DISLIKES_POSTS(likes e dislikes publicações), LIKES_DISLIKES_COMMENTS(likes e dislikes comentários).

  • users: id, username, email, password, role, created_at;
  • posts: id, creator_id, content, comments, likes, dislikes, created_at, updated_at;
  • comments: id, creator_id, content, post_id, comments, likes, dislikes, created_at, updated_at;
  • likes_dislikes_posts: post_id, user_id, likes;
  • likes_dislikes_comments: comments_id, user_id, likes;

Endpoints

  • Get Users: Retorna todos os usuários cadastrados;
  • Post Signup: Cadastro de novo usuário;
  • Post Login: Fornecer Login e Senha para acesso a aplicação;
  • Get Posts: Retorna todos as publicações cadastradas;
  • Post 'Post': Cadastra uma nova publicação;
  • Post Comment: Cadastra um novo comentário;
  • Put Edit Post: Edita uma publicação a partir de seu "ID";
  • Delete Post: Remove uma publicação existente a partir de seu "ID";
  • Put Like or Dislike: Envia um 'like' (like=1) ou 'dislike' (like=0) em uma publicação ou comentário.

Testes

No total, a cobertura de testes do back-end foi de 72,98%;

📚 Bibliotecas e ferramentas utilizadas:

  • cors: biblioteca para liberar acesso externo ao servido;
  • express : framework para criar o servidor (API);
  • knex: biblioteca query builder para conectar com banco de dados;
  • sqlite3: biblioteca do banco de dados SQLite;
  • uuid: biblioteca para geração de Identificador Único Universal;
  • dotenv: biblioteca de variáveis de ambiente;
  • jsonwebtoken: biblioteca para geração de tokens;
  • bcryptjs: biblioteca para criptografia de senhas;

Programas utilizados:

  • VSCode
  • Postman API Platform

🛠️ Tecnologias:

📝 Instruções de instalação do projeto:

  • npm install: Instala todas as dependências listadas no package.json;
  • npm run dev: Estabelece a conexão com o banco de dados e reinicia automaticamente o servidor localhost (padrao 3003) toda a vez que o projeto for salvo ou alterado.

About


Languages

Language:TypeScript 99.7%Language:JavaScript 0.3%