Qual é o cenário?
A empresa Aulas Online Ltda solicitou que você construa uma sala de aula virtual com capacidade de 25 usuários incluindo moderadores e alunos no plano free da startup.
A entrada na sala dá-se somente por meio da moderação do Anfitrião, opcionalmente o Anfitrião pode escolher uma pessoa para ser Co-Anfitrião e lhe auxiliar no gerenciamento da sala.
Somente o Anfitrião ou Co-Anfitrião poderá desativar o som do microfone dos usuários conectados, ele poderá optar por silenciar um usuário específico ou todos.
A entrada de qualquer usuário deve ser liberada pelo Anfitrião.
Quando a sala completar o limite máximo de usuários, o próximo á chegar, deverá ser adicionado na sala de espera.
O Anfitrião pode contratar um novo plano para conseguir adicionar novos usuários na sala virtual, o pagamento deve ser feito via PIX.
Os planos estão disponíveis nos seguintes períodos: mensal, semestral e anual; No plano semestral, adicionar um desconto de 5% e 15% no anual.
Requisitos:
- O Anfitrião e demais usuários devem estar previamente cadastrado na plataforma.
- O usuário só poderá participar de uma sala virtual por vez.
- O usuário poderá ir para uma nova sala, porém deverá ser desconectado da sala anterior.
Inicia Docker docker-compose up -d
Encerrar Doker docker-compose down
Levantar o docker com rebuild do container docker-compose up -d --build
Entrar no shell do container
docker exec -it php-training-php /bin/sh docker exec -it php-training-php /bin/bash
Verificar os logs de acesso do nginx docker logs -tf php-training-php
Acessando no navegador
http://phptraining.local:8000/
*** Casos de testes ***
[x] Verificar se a capacidade máxima é de 25 pessoas.
[x] Aumentar capacidade da sala.
[X] Verificar se anfitrião consegue criar sala
[X] Verificar a negação do usuário comum para criar sala
[ ] Verificar se apenas o anfitrição/co-anfitrião consegue adicionar usuários.
[ ] Verificar se anfitrição consegue silenciar todos da sala.
[ ] Verificar se anfitrição consegue silenciar um usuário da sala.
[ ] Não permitir a entrada do usuário sem aprovação do anfitrião.
[ ] Se sala cheia enviar o usuário para sala de espera.
[ ] Anfitrião pode aumentar a capacidade da sala.
[ ] Verificar se o plano trimetral concede 5% de desconto.
[ ] Verificar se o plano anual concede 15% de desconto.
[ ] Não permitir que usuário fique em duas salas.
Room User Plan