Skip to content

CRUD - API escrito em PHP, sem a utilização de Frameworks. Com autenticação no Front-End e no Back-End, com a necessidade de criação de um usuário para utilização do CRUD. Que funciona através de endpoints.

Notifications You must be signed in to change notification settings

guzztavo2/APIRestFulCrud

Repository files navigation

APIRestFulCrud

Este repositório contém uma API RESTful em PHP que permite a realização de operações CRUD (Create, Read, Update, Delete) em um banco de dados MySQL. Além disso, ele apresenta testes de erros do PHPUnit para garantir a estabilidade do sistema. O front-end do sistema foi desenvolvido apenas em Javascript e CSS, com o objetivo de comprovar minhas habilidades técnicas.

Embora tenha sido criado apenas para fins de estudo, o sistema pode ser utilizado em um servidor real, pois conta com meios de segurança utilizados em servidores reais, como filtro de inputs, proteção xsfr, proteção contra MySQL injection, entre outros, que podem ser vistos no código fonte.

O sistema inclui media-queries em CSS juntamente com display flex para garantir a responsividade em todas as telas. Além disso, otimizei o overflow para criar um efeito dinâmico entre o header e o footer.

Estrutura do diretório

O repositório está organizado da seguinte maneira:

  • Controllers:Os Controllers são responsáveis por controlar cada modelo do aplicativo. Eles enviam dados para a view e executam a validação dos dados recebidos. Além disso, a classe de rotas se conecta aos Controllers para encaminhar as solicitações recebidas.
  • Models:Os modelos são responsáveis por conectar o aplicativo ao banco de dados. Cada modelo representa uma tabela no banco de dados. Por exemplo, o modelo de usuário user possui uma chave estrangeira no modelo/tabela informacao para registrar quem cadastrou cada informação.
  • Views:As views são responsáveis pela exibição de informações para o usuário, mas quem decide se o usuário tem permissão para acessar uma determinada página é o controlador. As views são responsáveis pelo Front-End da aplicação e geralmente incluem linguagens como Javascript e CSS para fornecer uma interface interativa e agradável ao usuário.
  • Code:Este diretório é destinado ao armazenamento de scripts em JavaScript..
  • Style:Este diretório é destinado ao armazenamento de scripts em CSS.
  • WebFonts:Neste projeto, foi utilizado o recurso de font FontAwesome para tornar a interface do usuário mais atraente.

Requisitos do sistema

Para executar este projeto em seu ambiente local, você precisará ter instalado:

  • PHP 7.2 ou superior
  • MySQL 5.7 ou superior

Instalação

Para instalar e configurar este projeto em seu ambiente local, siga estas etapas:

  1. Clone o repositório para o seu computador
  2. Configure o banco de dados no arquivo config.php
  3. Inicie o servidor PHP no arquivo index.php com o comando php -S localhost:8000
  4. Acesse a documentação em http://localhost:8000/pastaDoArquivo/sobre para ver as rotas disponíveis e seus parâmetros.

Uso

A API permite a realização das seguintes operações:

Método HTTPEndpointDescrição
POSTuser/criarContaCria uma nova conta de usuário
POSTuser/acessarContaFaz o login do usuário
POSTuser/verificarsenhaVerifica se a senha inserida pelo usuário está correta
POSTuser/trocarSenhaTroca a senha do usuário
POSTinformacao/inserirInformacaoInsere uma nova informação no sistema
GEThomeRedireciona para a página principal do site
GETsobreRedireciona para a página "Sobre" do site
GETinformacao/{id}Exibe as informações correspondentes ao ID fornecido
GETuser/criarRedireciona para a página de criação de nova conta de usuário
GETuser/logarRedireciona para a página de login do usuário
GETuser/contaRedireciona para a página principal da conta do usuário
GETuser/configuracaoRedireciona para a página de configurações da conta do usuário
GETuser/trocarsenhaRedireciona para a página de troca de senha do usuário
GETuser/appExibe informações adicionais do sistema para usuários logados
GETuser/sairFaz logout do usuário
DELETEinformacao/{id}Deleta uma informação correspondente ao ID fornecido
PUTinformacao/{id}Atualiza uma informação correspondente ao ID fornecido

Você pode enviar requisições HTTP para a API usando o software de sua escolha, como o Postman ou o cURL. Certifique-se de fornecer os parâmetros necessários para cada rota, conforme especificado na documentação.

<h2>Licença</h2>
<p>Este projeto está licenciado sob a Licença MIT.</p>

About

CRUD - API escrito em PHP, sem a utilização de Frameworks. Com autenticação no Front-End e no Back-End, com a necessidade de criação de um usuário para utilização do CRUD. Que funciona através de endpoints.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published