Git Product home page Git Product logo

crud-rest's Introduction

Modelo Inicial CRUD

Este projeto serve como um modelo inicial para a implementação de um sistema CRUD (Create, Read, Update, Delete) básico, utilizando PHP para fins educacionais. É projetado para ensinar os fundamentos da construção de uma aplicação CRUD seguindo boas práticas de programação e padrões de projeto.

Padrões Utilizados

Padrão de Design

O projeto segue o padrão MVC (Model-View-Controller), que separa a aplicação em três componentes principais para organizar a lógica de negócios, a interface do usuário e a interação do usuário. Isso promove uma separação clara de preocupações, facilitando a manutenção e expansão do código.

  • Model: Representa a estrutura de dados, contendo lógica relacionada ao banco de dados.
  • View: (Não implementado explicitamente neste modelo inicial) Seria responsável pela exibição dos dados ao usuário. na branch separada há um arquivo que irámanipular a rota nos seus respectivos verbos
  • Controller: Contém a lógica de controle, intermediando a comunicação entre o Model e a View.

Padrão de Arquitetura

Utilizamos uma arquitetura baseada em serviços, onde o backend pode ser consumido por diferentes clientes (como uma aplicação web front-end ou mobile) através de uma API RESTful.

Padrão de Comunicação

A comunicação entre o cliente e o servidor é feita através de HTTP, seguindo os princípios REST. Isso permite uma comunicação stateless, utilizando os métodos HTTP (GET, POST, PUT, DELETE) para realizar operações CRUD.

Padrão de Armazenamento e Repository

A persistência de dados é realizada utilizando o SQLite, o que torna este projeto modelo inicial fácil de configurar e executar sem a necessidade de um ambiente de banco de dados complexo. Entretanto, a abstração da camada de banco de dados através do uso do padrão Repository permite a fácil substituição por outros SGBDs (Sistemas Gerenciadores de Banco de Dados), como MySQL, PostgreSQL, entre outros. Isso é alcançado ajustando apenas a configuração de conexão, demonstrando a flexibilidade do projeto em se adaptar a diferentes ambientes de banco de dados.

Configuração do Ambiente de Desenvolvimento

Este projeto utiliza Composer para gerenciar suas dependências. Assim, é necessário ter o Composer instalado no seu sistema para configurar o ambiente de desenvolvimento.

Instalando Dependências

Após clonar o repositório para a sua máquina local, navegue até o diretório do projeto abre o promp de comando e execute o seguinte comando para instalar as dependências necessárias:

composer install

Iniciando o Servidor PHP

Para desenvolvedores que têm o PHP instalado independentemente:

Se você tem o PHP instalado em seu sistema, pode iniciar o servidor embutido do PHP com o seguinte comando:

php -S localhost:8000

Para usuários do XAMPP:

Se preferir usar o XAMPP, coloque o projeto na pasta htdocs do XAMPP e inicie o Apache através do painel de controle do XAMPP. Então, você poderá acessar o projeto via navegador com uma URL baseada no nome da pasta dentro de htdocs.

Uso

Documentação da API

Esta API fornece um conjunto de endpoints para operações CRUD (Create, Read, Update, Delete) para usuários. Abaixo estão os detalhes de como interagir com cada endpoint.

Base URL Supondo que o servidor esteja executando localmente na porta 8000, a URL base será: http://localhost:8000/

Autenticação de Usuários (Login)

URL: /login?action=login Método: POST Dados Requeridos:

{
  "email": "[email protected]",
  "senha": "password123"
}

Descrição: Autentica um usuário com email e senha.

Criar Novo Usuário

URL: / Método: POST Dados Requeridos:

{
  "nome": "Novo Usuario",
  "email": "[email protected]",
  "senha": "novaSenha123"
}

Descrição: Cria um novo usuário com nome, email e senha.

Ler Informações de Usuário(s)

Para um único usuário: URL: /?id=1 Método: GET Descrição: Obtém as informações de um usuário específico pelo ID.

Para todos os usuários:

URL: / Método: GET Descrição: Lista todos os usuários.

Atualizar Usuário URL: / Método: PUT Dados Requeridos:

{
  "usuario_id": 1,
  "nome": "Usuario Atualizado",
  "email": "[email protected]",
  "senha": "senhaAtualizada123"
}

Descrição: Atualiza as informações de um usuário existente.

Deletar Usuário

URL: /?id=1 Método: DELETE Descrição: Exclui um usuário específico pelo ID.

Testando com Postman

Para testar esses endpoints com o Postman:

Abra o Postman e crie uma nova requisição. 2. Selecione o método apropriado (GET, POST, PUT, DELETE) conforme a operação que deseja testar.

Insira a URL base seguida pelo caminho do endpoint. Por exemplo, para criar um novo usuário, a URL seria http://localhost:8000/ com o método POST. Para os métodos que requerem dados (POST e PUT), vá até a aba "Body", selecione "raw" e escolha "JSON" como formato. Então, insira os dados requeridos no formato JSON. Pressione o botão "Send" para realizar a requisição.

Licença

Especifique a licença sob a qual o projeto é disponibilizado, promovendo o uso e contribuição da comunidade.

crud-rest's People

Contributors

faustinopsy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.