Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 3.08 KB

docs.md

File metadata and controls

62 lines (47 loc) · 3.08 KB

Arquitetura e Stack 🐯

Feito com um conjunto de serviços estruturados em uma arquitetura de microsserviços e orientado a eventos

Os serviços estão organizados em arquitetura de camadas hexagonal, clique para ver o modelo.

Detalhes de stack

A implementação do serviço de autenticação é feita em Java 17 usando Spring Boot.

A implementação do serviço de sessões é feita em JavaScript usando NodeJS.

Os serviços estão integrados a um message broker, implementado com RabbitMQ.

No Front-end é usado as seguintes tecnologias:

Bibliotecas Usadas

Desenvolvimento 🐋

Regras de Negócio 📫

Cadastramento

Para se cadastrar o usuário deverá informar o seu email.
Caso o email seja verificado o usuário poderá informar o seu nome, o seu apelido, o seu avatar, sua senha e opcionalmente seu número de celular.

Login

Para se logar o usuário deverá informar o seu apelido ou email e sua senha.
Caso a autenticação de duas fatores esteja ativada o usuário receberá um código pelo celular ou email para seguir no sistema.

Amigos e Mensagens

Todo usuário cadastrado pode ter amigos e enviar mensagens ou convites de jogos.
Para adicionar um amigo deverá informar o seu apelido.

Personagens

O usuário pode deixar personagems criados para poder entrar em jogos novos.
Cada personagem tem seu avatar próprio e ficha com história e atributos

Jogo

O usuário pode entrar em um jogo já em andamento ou novo.
Para entrar no jogo o usuário deverá ter um personagem criado

Criação de Jogo

O usuário pode criar um jogo como mestre.
Para criar será necessário escolher o livro de regras e as configurações específicas.

Sessões

O usuário pode entrar em sessões de jogos do qual foi convidado independendente se a sessão está fechada ou não.
Se a sessão estiver fechada o usuário será limitado na sessão podendo apenas editar seu personagem.

Diagrama de Caso de Uso 🔣

image