Skip to content

marcosquadross/Projeto-SD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Message Delivery

Este projeto tem como objetivo implementar um sistema de envio de mensagens em tempo real entre múltiplos usuários.

Arquitetura

Arquitetura


Componentes e Funcionalidades:

Usuário:

  • Autentica-se no sistema através da interface de usuário.
  • Submete uma solicitação para enviar um e-mail, fornecendo os destinatários, o conteúdo e outras informações necessárias.
  • Criar grupos de pessoas para envio de mensagens.

Servidor:

  • Valida as credenciais do usuário.
  • Processa as solicitações do usuário.

Banco de Dados:

  • Armazena informações relevantes, como dados do usuário, configurações de e-mail e histórico de envio de e-mails.
  • Escalável

WebSocket:

  • Fornece uma comunicação em tempo real para atualização dos e-mails enviados e recebidos.

Redis:

  • Armazena as mensagens enviadas e recebidas.
  • Escalável, consistente e suporta concorrência.

Tecnologias:

Fluxo de Utilização:

  1. O usuário se autentica no sistema. (OPCIONAL) 1.1. O usuário cria um grupo de pessoas para envio de mensagens.
  2. O usuário submete uma solicitação para enviar um e-mail.
  3. O servidor recebe a solicitação de envio de e-mail do usuário.
  4. O servidor trata a solicitação a partir das informações recebidas.
  5. WebSocket atualiza a interface do usuário em tempo real com as informações do e-mail enviado.
  6. Interface do usuário exibe as informações do e-mail enviado.

Interface de Serviço:

Usuário:

Cadastro:

  • URL: /api/user/register
    • Método: GET
    • Corpo:
      {
          "name": "string",
          "username": "string",
          "password": "string",
          "telephone": "string"
      }

Autenticação:

  • URL: /api/user/login
    • Método: POST
    • Corpo:
      {
          "username": "string",
          "password": "string"
      }

Mensagem:

Enviar Mensagem:

  • URL: /api/message
    • Método: POST
    • Corpo:
      {
          "author": "string",
          "recipients": ["string"],
          "title": "string",
          "content": "string",
          "time": new Date()
      }

Visualizar Mensagens Enviadas:

  • URL: /api/message/author/author_id
    • Método: GET

Visualizar Mensagens Recebidas:

  • URL: /api/message/recipient/recipient_id
    • Método: GET

Grupo:

Criar Grupo:

  • URL: /api/group
    • Método: POST
    • Corpo:
      {
          "name": "string",
          "members": ["string"]
      }

Visualizar Grupos:

  • URL: /api/groups/user/user_id
    • Método: GET

Interface de Usuário:

  • Tela de Login
  • Tela de Cadastro
  • Tela de Visualização de Mensagens Enviadas
  • Tela de Visualização de Mensagens Recebidas
  • Modal de Envio de Mensagem
  • Modal de Criação de Grupo
  • Dropdown de visualização de grupos

Alunos


Marcos Quadros

RA: 2380560


Thiago Gariani

RA: 2388898

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published