Este projeto tem como objetivo implementar um sistema de envio de mensagens em tempo real entre múltiplos usuários.
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.
- O usuário se autentica no sistema. (OPCIONAL) 1.1. O usuário cria um grupo de pessoas para envio de mensagens.
- O usuário submete uma solicitação para enviar um e-mail.
- O servidor recebe a solicitação de envio de e-mail do usuário.
- O servidor trata a solicitação a partir das informações recebidas.
- WebSocket atualiza a interface do usuário em tempo real com as informações do e-mail enviado.
- Interface do usuário exibe as informações do e-mail enviado.
- URL:
/api/user/register
- Método:
GET
- Corpo:
{ "name": "string", "username": "string", "password": "string", "telephone": "string" }
- Método:
- URL:
/api/user/login
- Método:
POST
- Corpo:
{ "username": "string", "password": "string" }
- Método:
- URL:
/api/message
- Método:
POST
- Corpo:
{ "author": "string", "recipients": ["string"], "title": "string", "content": "string", "time": new Date() }
- Método:
- URL:
/api/message/author/author_id
- Método:
GET
- Método:
- URL:
/api/message/recipient/recipient_id
- Método:
GET
- Método:
- URL:
/api/group
- Método:
POST
- Corpo:
{ "name": "string", "members": ["string"] }
- Método:
- URL:
/api/groups/user/user_id
- Método:
GET
- Método:
- 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
Marcos Quadros RA: 2380560 |
Thiago Gariani RA: 2388898 |