Aplicação Chat com RMI.
Você foi contratado para o desenvolvimento de um sistema para comunicação interpessoal: o WhatsUT. Tal sistema precisa atender os seguintes requisitos:
-
Autenticação criptografada: o usuário precisa estar cadastrado para utilizar,e seu acesso deve ser feito via senha. É importante usar um processo de criptografia de dados.
-
Lista de usuários: ao realizar o login, uma lista de usuários deve ser apresentada, caracterizando o usuário que estiver atualmente logado e disponível para chat.
-
Lista de grupos: uma lista de grupos para chat deve ser apresentada. O cliente poderá pedir para entrar no grupo de conversa, sendo aprovado ou não pelo criador do grupo de conversação.
-
Dois modos de chat devem ser providos: chat privado, permitindo a conversação entre duas pessoas apenas; e chat em grupo, permitindo com que várias pessoas possam se juntar a uma conversa. No caso da conversa em grupo, o usuário que criou pode dar permissão a outros usuários para entrada.
-
Envio de arquivos: em chats privados, um usuário poderá enviar arquivos ao outro usuário.
-
Exclusão: um usuário poderá requisitar ao servidor que um usuário seja banido da aplicação. Banir um usuário do grupo é tarefa do administrador do grupo. Caso o administrador do grupo saia, o aplicativo deve decidir quem será o novo administrador, ou se o grupo seja eliminado. Tal opção pode ser ajudasta no momento da criação do chat em grupo.
É importante que se tenha telas intuitivas, modernas e "caprichadas" tanto para o cliente quanto para o servidor. Ainda, deve-se apresentar os diagramas UML (atividades, sequencia e classes).