Skip to content

Commit

Permalink
Merge pull request #24 from comatic0/develop
Browse files Browse the repository at this point in the history
v5.1.0
  • Loading branch information
comatic0 authored Nov 6, 2024
2 parents ad0e2c2 + 0f4efb1 commit 9be15ba
Show file tree
Hide file tree
Showing 28 changed files with 565 additions and 63 deletions.
58 changes: 44 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,28 +123,58 @@ Possibilatar ao usuário a busca por mesas existentes, o cadastro de personagens

### Funcionalidades:
Sistema para buscar por uma mesa existente no banco de dados:
O usuário poderá ingressar em uma mesa que já existe procurando por ela
O usuário poderá ingressar em uma mesa que já existe procurando por ela - Emanuel

Sistema para agendamento de horários e dias de sessões durante a criação de mesas.
Sistema para agendamento de horários e dias de sessões durante a criação de mesas - Vitor Leal

Gestão de Fichas de Personagens (Registro de Ficha de Personagem):
Gestão de Fichas de Personagens (Registro de Ficha de Personagem)- Henrique

Registro e criação de personagens, com detalhes como nome, descrição e controlador.

Possibilitar a exibição, alteração e exlusão do perfil.
### Iteração 3:

Criação de uma página acessível, atraente e intuitiva.
### Sprint 1:

### Iteração 2 - Finalização
### valor:

## Equipe
Possibilitar ao usuário melhores interações com o sistema, como uma visualização mais limpa das mesas, uma maior personalização de personagens, e adição de mesas. O sistema também fornece acesso a um sistema de notificações e a possibilidade de utilizar uma api interna para obter informações do site.

| **Nome** | **Features** |
|-----------------------------------------|----------------------------------------------|
| Yuri Barbosa Takahashi | Code Review, Refatoração de Pull Requests (merging), API para requisições HTML (Get, Put, Post, Delete), Lembrar usuário, Exibir/esconder senha. |
| Henrique Wendler Gomes | Code Review |
| Vitor Leal Ferreira | Sistema de Notificações no Agendamento de Mesas, Botão de Criar Mesas|
| Emanuel Badaró Fonseca | Visualização individual de fichas, melhorias no front-end das mesas e Pop-ups para mesas.|
### Funcionalidades:

Submissão e deleção de mapas - Thiago

Sistema de notificações - Vitor Leal

Visualização individual das mesas - Emanuel

Melhorias na personalização de Fichas de Personagens - Henrique

Criação e integração de API Interna, Lembrar Usuário e Exibir/esconder senha, Refatoração de Pull Requests - Yuri

## Iteração 3 - Finalização

| **Nome** | **Features** | **Code Review** |
|-----------------------------------------|----------------------------------------------|----------------------------------------------|
| Yuri Barbosa Takahashi | Code Review, Refatoração de Pull Requests (merging), API para requisições HTML (Get, Put, Post, Delete), Lembrar usuário, Exibir/esconder senha. | Thiago Soares Ribeiro Nunes de Carvalho |
| Henrique Wendler Gomes | Code Review, Atribuição de Imagens para Fichas| Yuri Barbosa Takahashi |
| Vitor Leal Ferreira | Sistema de Notificações no Agendamento de Mesas, Botão de Criar Mesas| Henrique Wendler Gomes, Yuri Barbosa Takahashi |
| Emanuel Badaró Fonseca | Visualização individual de fichas, melhorias no front-end das mesas e Pop-ups para mesas.| Yuri Barbosa Takahashi |
| Thiago Soares Ribeiro Nunes de Carvalho | Sistema de submissão de mapas.| Emanuel Badaró Fonseca, Yuri Barbosa Takahashi |

### Iteração 4:

### valor: Possibilitar o usuário criar diferentes mesas e fichas de acordo com o sistema escolhido, fornecer melhores experiencias durante as secções, acesso a uma melhor acessibilidade visual, também possibilitar formas mais faceis e eficientes de realizar o Login

### funcionalidades:

Melhorias no sistema de criação de Fichas de Personagem - Diferentes modelos para diferentes sistemas - Henrique

Melhorias no sistema de criação de Mesas - Diferentes modelos para diferentes sistemas - Thiago

Dark mode - Emanuel

Sistema para "rolar" dados - Vitor Leal

Utilização de Tokens para Login - Yuri

### User Stories e Prototipação

Expand Down
52 changes: 36 additions & 16 deletions api.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,46 @@
break;
case 'POST':
$data = json_decode(file_get_contents('php://input'), true);
$nome = $data['nome'];
$descricao = $data['descricao'];
$categoria = $data['categoria'];
$data_da_sessao = $data['data_da_sessao'];
$max_capacity = $data['max_capacity'];
$user_id = $data['user_id'];
$mesaController->createMesa($nome, $descricao, $categoria, $data_da_sessao, $max_capacity, $user_id);
echo json_encode(['message' => 'Mesa criada com sucesso']);
error_log("Received POST data: " . print_r($data, true)); // Log the received data
if (json_last_error() === JSON_ERROR_NONE) {
$nome = $data['nome'] ?? null;
$descricao = $data['descricao'] ?? null;
$categoria = $data['categoria'] ?? null;
$data_da_sessao = $data['data_da_sessao'] ?? null;
$max_capacity = $data['max_capacity'] ?? null;
$user_id = $data['user_id'] ?? null;

if ($nome && $descricao && $categoria && $data_da_sessao && $max_capacity && $user_id) {
$mesaController->createMesa($nome, $descricao, $categoria, $data_da_sessao, $max_capacity, $user_id);
echo json_encode(['message' => 'Mesa criada com sucesso']);
} else {
echo json_encode(['message' => 'Dados incompletos'], JSON_UNESCAPED_UNICODE);
}
} else {
echo json_encode(['message' => 'Erro ao decodificar JSON'], JSON_UNESCAPED_UNICODE);
}
break;
case 'PUT':
if (isset($_GET['id'])) {
$data = json_decode(file_get_contents('php://input'), true);
$id = $_GET['id'];
$nome = $data['nome'];
$descricao = $data['descricao'];
$categoria = $data['categoria'];
$data_da_sessao = $data['data_da_sessao'];
$max_capacity = $data['max_capacity'];
$mesaController->updateMesa($id, $nome, $descricao, $categoria, $data_da_sessao, $max_capacity);
echo json_encode(['message' => 'Mesa atualizada com sucesso']);
error_log("Received PUT data: " . print_r($data, true)); // Log the received data
if (json_last_error() === JSON_ERROR_NONE) {
$id = $_GET['id'];
$nome = $data['nome'] ?? null;
$descricao = $data['descricao'] ?? null;
$categoria = $data['categoria'] ?? null;
$data_da_sessao = $data['data_da_sessao'] ?? null;
$max_capacity = $data['max_capacity'] ?? null;

if ($nome && $descricao && $categoria && $data_da_sessao && $max_capacity) {
$mesaController->updateMesa($id, $nome, $descricao, $categoria, $data_da_sessao, $max_capacity);
echo json_encode(['message' => 'Mesa atualizada com sucesso']);
} else {
echo json_encode(['message' => 'Dados incompletos'], JSON_UNESCAPED_UNICODE);
}
} else {
echo json_encode(['message' => 'Erro ao decodificar JSON'], JSON_UNESCAPED_UNICODE);
}
}
break;
case 'DELETE':
Expand Down
Binary file added assets/imagem/user-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mapas/672acd6b4e611-Andes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mapas/672acd7847e56-Terra_média.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mapas/672acd8ac0ec1-Riverrend.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/maps_exemplo/Andes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/maps_exemplo/Demon_Fort.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/maps_exemplo/Riverrend.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/maps_exemplo/Terra_média.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/personagens_pictures/download.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/personagens_pictures/images.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/profile_pictures/Waihuku_LOGO.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 4 additions & 5 deletions controllers/FichaController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ class FichaController {
public function __construct($pdo) {
$this->fichaModel = new Ficha($pdo);
}
public function createFicha($nome, $classe, $nivel, $raca, $magias, $descricao) {
$user_id = $_SESSION['user_id'] ?? null;
public function createFicha($nome, $classe, $nivel, $raca, $magias, $descricao, $imagem, $user_id) {
if ($user_id) {
if ($this->fichaModel->createFicha($nome, $classe, $nivel, $raca, $magias, $descricao, $user_id)) {
if ($this->fichaModel->createFicha($nome, $classe, $nivel, $raca, $magias, $descricao, $imagem, $user_id)) {
header('Location: ../fichas/index.php');
exit();
} else {
Expand All @@ -26,8 +25,8 @@ public function deleteFicha($id) {
public function getFichaById($id) {
return $this->fichaModel->getFichaById($id);
}
public function updateFicha($id, $nome, $classe, $nivel, $raca, $magias, $descricao) {
$result = $this->fichaModel->updateFicha($id, $nome, $classe, $nivel, $magias, $raca, $descricao);
public function updateFicha($id, $nome, $classe, $nivel, $raca, $magias, $descricao, $imagem) {
$result = $this->fichaModel->updateFicha($id, $nome, $classe, $nivel, $raca, $magias, $descricao, $imagem);
if ($result) {
error_log("Character with ID $id updated successfully.");
header('Location: ../fichas/index.php');
Expand Down
47 changes: 47 additions & 0 deletions controllers/MapaController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php
require_once __DIR__ . '/../models/Mapa.php';
require_once __DIR__ . '/../includes/db.php';

class MapaController {
private $mapaModel;
public function __construct($pdo) {
$this->mapaModel = new Mapa($pdo);
}
public function upload($nome, $imagem, $tipo) {
$user_id = $_SESSION['user_id'] ?? null;
if ($user_id) {
$imageName = null;
if (isset($imagem) && $imagem['error'] == UPLOAD_ERR_OK) {
$imageTmpName = $imagem['tmp_name'];
$imageName = uniqid() . '-' . basename($imagem['name']); // Gera um nome único
$uploadDir = __DIR__ . '/../assets/mapas/';

// Move o arquivo para o diretório de uploads
if (move_uploaded_file($imageTmpName, $uploadDir . $imageName)) {
// A imagem foi enviada com sucesso
} else {
echo "Erro ao enviar a imagem.";
return;
}
}
$caminho = "http://localhost/tavola-redonda/assets/mapas/" . $imageName;
if ($this->mapaModel->uploadMapa($nome, $caminho, $tipo, $user_id)) {
header('Location: ../mapas/index.php');
exit();
} else {
return "Erro ao adicionar o mapa.";
}
}
}

public function deleteMapa($mapa_id) {
$this->mapaModel->deleteMapa($mapa_id);
header('Location: ../mapas/index.php');
exit();
}

public function listarMapas() {
return $this->mapaModel->getAllMapas();
}
}
?>
Loading

0 comments on commit 9be15ba

Please sign in to comment.