Bugaboo Test
Esse projeto é um teste prático!
Tecnologias Usadas
Unity stack:
- Netcode for GameObjects usado para gerenciar o multiplayer.
- Multiplayer Samples Utilities usado para complementar o Netcode.
- ParrelSync usado para facilitar o teste local do multiplayer.
- 2D Sprite usado para criar HUD.
FrontEnd stack:
BackEnd stack:
Setup
- Clone o repositório
git clone https://github.com/irahel/BugabooTest.git
- Entre no diretório
cd BugabooTest
BackEnd Setup
- Entre no diretório do BackEnd
cd BackEnd
- Instale as dependências
npm install
- Execute os testes
npm test
- Execute a aplicação
npm start
BackEnd notation
Rotas:
POST /score
- Recebe um json do formato:
{
"player": <PlayerName>,
"score": <PlayerScore>
}
- Retorna 201 caso sucesso e 400 caso contrário
GET /score
- Retorna 200 caso sucesso e uma lista de objetos do formato:
{
"player1": <score1>,
"player2": <score2>,
...
}
- Caso contrário é retornado um 400
GET /score/:<PlayerName>
- Retorna 200 caso sucesso e um json do formato:
{
"player": <PlayerName>,
"score": <PlayerScore>
}
- Caso contrário é retornado um 404
GET /ranking
- Retorna 200 caso sucesso e um json do formato, com o top 3 jogadores:
{
"player": <PlayerName>,
"score": <PlayerScore>
}
- Caso contrário é retornado um 404
Especificações
- A porta padrão do BackEnd é 6161.
- O protocolo padrão é http.
- O banco utilizado é uma simulação em memória em visão do tempo.
- O Jest irá testar o seguinte:
- √ Deve cadastrar um novo player com sucesso
- √ Deve retornar um erro ao cadastrar player sem nome ou pontuação
- √ Deve retornar o score de um player específico
- √ Deve retornar erro quando tentar obter score de player não encontrado
- √ Deve retornar o ranking dos três melhores players
Unity notation
- Abra o projeto via Unity Hub
Unity Hub > Open Project From Disk > BugabooTest
- Espere a instalação de dependências do projeto
- Crie uma nova instância do ParrelSync
Na barra de menus superior:
ParrelSync > ClonesManager > Create new clone
- Abra o clone em outro editor
Na janela aberto do ParrelSync:
Open in New Editor
- Execute o jogo no Editor Principal e no Editor Secundário
- Divirta-se!
Fluxo de Gameplay:
-
- Avance da tela inicial com Enter