Skip to content

API construida para o gerenciamento das informações da Base de Dados da aplicação do Labeddit, onde você pode manipular informações de cadastro de usuários e publicações.

Notifications You must be signed in to change notification settings

DanielEmidio1988/Labeddit-BackEnd

Repository files navigation

LABEDDIT - BACK-END

📖 Introdução

Este é um projeto Web Full Stack desenvolvido no Bootcamp Labenu, dividido em 2 repositórios (Labeddit-BackEnd e Labeddit-FrontEnd), onde o usuário tem acesso a rede social Labeddit. Dentro da aplicação, você poderá criar seu cadastro e interagir com as publicações (curtir, comentar, editar) de outros usuários.

API construida para o gerenciamento das informações da Base de Dados da aplicação do Labeddit, onde você pode manipular informações de cadastro de usuários e publicações.

🔗Link de Acesso

👥Equipe

  • DANIEL EMIDIO

🧭Status do Projeto

  • ⏳Concluido

📄Concepção do Projeto

Documentação Postman: clique aqui!

Para este projeto, são modelados 5 entidades: USERS(usuários), POSTS(publicação), COMMENTS(comentários), LIKES_DISLIKES(likes e dislikes publicações), LIKES_DISLIKES(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, comments, likes, dislikes, created_at, updated_at, post_id;
  • likes_dislikes: user_id, post_id, likes;
  • likes_dislikes_comments: user_id, comments_id, likes; Preview

Ao todo, foram aplicados testes unitários em 70% da aplicação. Preview

Endpoints

  • Get Users: Retorna todos os usuários cadastrados;
  • Post Signup: Cadastro de nova conta.
  • Post Login: Informe de 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 do 'Id' da publicação.
  • Delete Post: Deleta uma publicação existente a partir do 'Id' da publicação.
  • Put Like or Dislike: Envia um 'like' (1) ou 'dislike' (0) a uma publicação ou comentário.

Bibliotecas 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;

🛰Executando o 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 alterado e salvo.

💡Programas utilizados:

  • Postman API Platform
  • VSCode

💻Tecnologias

NodeJs Typescript SQLite Jest Git

📫 Contato

E-mail: [email protected]

LinkedIn Codewars

About

API construida para o gerenciamento das informações da Base de Dados da aplicação do Labeddit, onde você pode manipular informações de cadastro de usuários e publicações.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published