Skip to content

CRUD - Utilizando PHP, MySQL, XAMPP e Bootstrap. Projeto conta com autenticação, criptografia e consultas ao banco de dados

Notifications You must be signed in to change notification settings

Killjoybr/crud-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Iniciando com MYSQL

Ferramentas utilizadas

  • DBeaver (Ferramenta para gerenciar banco de dados) Outra opção -> MySQL Workbench.
  • Gerador de Dados falsos generatedata.
  • Git Para versionamento de código.
  • GitHub Para armazenamento do repositório git na nuvem.
  • NVim Editor de código.
  • XAMPP Para servidor http e banco de dados.
  • PHP Linguagem utilizada no backend, juntamente com HTML para interação do usuário.
  • Bootstrap - Biblioteca utilizada para estilizar as páginas e manter padronização.
  • JQuery - Biblioteca para facilitar manipulação do DOM e requisições assíncronas.
  • Jquery.Mask - Biblioteca para adicionar máscara na entrada do usuário.
  • MySQL Workbench - Utilizado para criar o modelo do banco de dados.

Funcionalidades/Escopo

Usuário
  • Criação de usuário, cada usuário pode assumir 3 papéis:
  • cliente (que é o padrão).
  • administrador (que deve ser incluído por um administrador do banco de dados).
  • cuidador (que deve ser incluído e gerido por um administrador do sistema WEB).
  • Criação/Atualização de contatos de emergência, visam fornecer aos administradores e cuidadores um contato de confiança caso algo ocorra com um cliente.
  • Cadastro de endereço pelo CEP.
  • Relacionamento de Paciente x Cuidador, a ser registrado pelo administrador.
Contratos
  • Criação de contratos, apenas por administradores.
Ponto
  • Cuidadores poderão registrar o horário de entrada e saída para trabalharem.

Diagrama do Banco de Dados

Modelo de Relacionamento de Entidades do Banco de dados

Trechos importantes de código

Conexão com DB
$host = $env["HOST"];
$port = $env["PORT"];
$username = $env["USER"];
$password = $env["PASSWORD"];
$database = $env["DB"];

try {
  $conexao = NEW PDO(
      'mysql:host='.$host.';
      port='.$port.';
      dbname='.$database,
      $username,
      $password
  );
} catch(Exception $e){
  echo "<h1>Erro ao carregar conexao com banco de dados</h1>";
  die();
}
Controle de Acesso
if($_SESSION['tipo'] != 'cuidador'){
  session_destroy();
  header('location: /projects/crud-php/index.php?mensagem=Você não tem permissão para acessar esta página');
}
Modularização de Componentes

Componentes são basicamente arquivos html com seções dividas, uma div por exemplo ou trechos de lógica php como controle de acesso.

<?php include_once('./componentes/sidebar-admin.php')?>
Uso de sessão

Uso do conceito de sessão, para guardar variáveis pelo site.

session_start();

  $_SESSION['email'] = $_REQUEST['email'];
  $_SESSION['usuario'] = $usuario['nome'];
  $_SESSION['tipo'] = $usuario['descricao'];
  $_SESSION['id'] = $usuario['id'];

  $url = match($_SESSION['tipo']){
    'admin' => '/projects/crud-php/src/tabela.php',
    'cuidador' => '/projects/crud-php/src/views/cuidador.php',
    default => '/projects/crud-php/src/views/cliente.php'
  };

  header("location: $url");

Considerações finais

PHP é muito versátil na WEB, um tempo atrás ouvi sobre seu uso no Wordpress e fiquei confuso, após aprender o conceito de modularização, utilizando include, acredito que grande parte do Wordpress possa ser replicado dessa forma, de forma mínima.

MySQL, SGBD muito bom para modelar e com abstração das consultas e manipulação do Banco de Dados.

Noções gerais sobre desenvolvimento, o uso de frameworks e bibliotecas possibilitou agilizar o desenvolvimento do sistema.

About

CRUD - Utilizando PHP, MySQL, XAMPP e Bootstrap. Projeto conta com autenticação, criptografia e consultas ao banco de dados

Resources

Stars

Watchers

Forks