Este projeto é uma API para um jogo de Sudoku, permitindo a criação de usuários, tabuleiros de Sudoku, registro de resultados e obtenção de informações sobre os jogos. A API é construída utilizando Node.js e Express.
- Node.js instalado
- npm (Node Package Manager) instalado
- Clone o repositório para o seu ambiente local:
git clone https://github.com/antonioacampos/sudoku
- Navegue até o diretório do projeto:
cd <diretório do projeto>
- Instale as dependências:
npm install
- Inicie o servidor:
node node.js
- O servidor estará rodando na porta
8000.
- URL:
/game - Método:
POST - Resposta de Sucesso:
200 OK - Corpo da Resposta:
{ "board_id": "<ID do Tabuleiro>", "board": [[5, 3, 0, 0, 7, 0, 0, 0, 0], [6, 0, 0, 1, 9, 5, 0, 0, 0], ...] }
- URL:
/users - Método:
POST - Corpo da Requisição:
{ "username": "<Nome do Usuário>", "password": "<Senha>" } - Resposta de Sucesso:
201 Created - Corpo da Resposta:
{ "username": "<Nome do Usuário>", "message": "Usuário criado com sucesso" }
- URL:
/results - Método:
POST - Corpo da Requisição:
{ "username": "<Nome do Usuário>", "board_id": "<ID do Tabuleiro>", "time": "<Tempo gasto>" } - Resposta de Sucesso:
200 OK - Corpo da Resposta:
{ "message": "Resultado registrado com sucesso" }
- URL:
/results/:board_id - Método:
GET - Resposta de Sucesso:
200 OK - Corpo da Resposta:
[ { "username": "<Nome do Usuário>", "board_id": "<ID do Tabuleiro>", "time": "<Tempo gasto>" }, ... ]
- URL:
/game/:board_id - Método:
GET - Resposta de Sucesso:
200 OK - Corpo da Resposta:
{ "board_id": "<ID do Tabuleiro>", "board": [[5, 3, 0, 0, 7, 0, 0, 0, 0], [6, 0, 0, 1, 9, 5, 0, 0, 0], ...] }
- URL:
/users/:username - Método:
DELETE - Resposta de Sucesso:
200 OK - Corpo da Resposta:
{ "username": "<Nome do Usuário>", "message": "Usuário removido com sucesso" }
-
Criar um Usuário:
- Faça uma requisição
POSTpara/userscom o corpo contendousernameepassword.
- Faça uma requisição
-
Criar um Novo Jogo:
- Faça uma requisição
POSTpara/gamepara criar um novo tabuleiro de Sudoku.
- Faça uma requisição
-
Registrar um Resultado:
- Faça uma requisição
POSTpara/resultscomusername,board_idetimepara registrar o tempo gasto em um jogo.
- Faça uma requisição
-
Obter Resultados de um Tabuleiro:
- Faça uma requisição
GETpara/results/:board_idpara obter os resultados de um tabuleiro específico.
- Faça uma requisição
-
Obter Detalhes de um Tabuleiro:
- Faça uma requisição
GETpara/game/:board_idpara obter os detalhes de um tabuleiro específico.
- Faça uma requisição
-
Remover um Usuário:
- Faça uma requisição
DELETEpara/users/:usernamepara remover um usuário específico.
- Faça uma requisição
Se você deseja contribuir com este projeto, por favor, siga os passos abaixo:
- Faça um fork do projeto.
- Crie uma branch para sua feature ou correção de bug (
git checkout -b feature/nova-feature). - Commit suas mudanças (
git commit -am 'Adiciona nova feature'). - Push para a branch (
git push origin feature/nova-feature). - Crie um novo Pull Request.
Este projeto está licenciado sob a MIT License.