Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/douglascarlos-dev/clientes-gestor
Software Web para cadastro de clientes com URL amigável usando PHP Orientado a Objetos, MVC, banco de dados Postgresql com PDO, CAPTCHA, PDF, API de CEP e upload de imagem
https://github.com/douglascarlos-dev/clientes-gestor
api banco-de-dados bootstrap4 dompdf hcaptcha jquery mvc oop pdf pdo pgmodeler php postgresql sql upload-images
Last synced: 6 days ago
JSON representation
Software Web para cadastro de clientes com URL amigável usando PHP Orientado a Objetos, MVC, banco de dados Postgresql com PDO, CAPTCHA, PDF, API de CEP e upload de imagem
- Host: GitHub
- URL: https://github.com/douglascarlos-dev/clientes-gestor
- Owner: douglascarlos-dev
- License: apache-2.0
- Created: 2021-03-13T13:00:51.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-15T01:09:41.000Z (10 months ago)
- Last Synced: 2024-01-15T05:14:17.977Z (10 months ago)
- Topics: api, banco-de-dados, bootstrap4, dompdf, hcaptcha, jquery, mvc, oop, pdf, pdo, pgmodeler, php, postgresql, sql, upload-images
- Language: PHP
- Homepage: https://clientesgestor.douglascarlos.dev
- Size: 6.23 MB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clientes Gestor
![Static Badge](https://img.shields.io/badge/Apache%20HTTP-%3E%3D2.4.52-cb2138) ![Static Badge](https://img.shields.io/badge/PHP-%3E%3D8.1-blue) ![Static Badge](https://img.shields.io/badge/Ubuntu-22.04-orange) ![Static Badge](https://img.shields.io/badge/PostgreSQL-14.8-blue)
### Esse projeto faz parte dos meus estudos sobre programação e teste de software.
Software Web para cadastro de clientes. No seu desenvolvimento foi utlizado URL amigável usando PHP Orientado a Objetos, MVC, banco de dados Postgresql com PDO, CAPTCHA, PDF, API de CEP/Endereço e upload de imagem.
![Logo API](./img/tela_login.png)
![Logo API](./img/tela_cliente.png)
## Recursos usados no desenvolvimento:
- [PHP](https://www.php.net/) 8.1.2;
- [PostgreSQL](https://www.postgresql.org/) 14.5;
- [pgModeler](https://github.com/pgmodeler/pgmodeler) 0.9.4;
- HTML;
- [Bootstrap](https://github.com/twbs/bootstrap) v4.6.0;
- [jQuery](https://github.com/jquery/jquery) v.3.5.1;
- [Apache HTTP Server](https://github.com/apache/httpd);
- [DBeaver Community Edition](https://github.com/dbeaver/dbeaver);
- [Git](https://git-scm.com);
- [Visual Studio Code](https://github.com/Microsoft/vscode/);
- MVC;
- [PlantUML](https://github.com/plantuml/plantuml);
- [hCaptcha](https://www.hcaptcha.com/);
- [Dompdf](https://github.com/dompdf/dompdf) 2.0.0;
- [GD](https://www.php.net/manual/pt_BR/book.image.php);
- [CEP Aberto](https://www.cepaberto.com) API V3;## Instalação:
Para começar, você deve simplesmente clonar o repositório do projeto na sua máquina, instalar os pre-requisitos, criar o banco de dados e configurar o arquivo database.php.
## Pre-requisitos:
Antes de instalar o projeto, você precisa já ter instalado na sua máquina:
- Apache;
- Ativar o módulo mod_rewrite do Apache;
- PHP;
- Ativar o módulo pgsql do PHP;
- Ativar a extensão GD do PHP;
- Ativar a extensão cURL do PHP;
- Ativar a extensão mbstring do PHP;
- Ativar a extensão SimpleXML do PHP;
- PostgreSQL;PostgreSQL é um sistema de banco de dados relacional poderoso e testado pelo tempo sendo uma importante opção de código aberto livre para uso comercial sem custos.
## Obtendo uma cópia:
```shell
# Antes de tudo, clone o projeto
$ git clone https://github.com/douglascarlos-dev/Clientes-Gestor
```## Configuração:
```php
# Entre na pasta 'model' do projeto e crie um arquivo database.php
# com os dados de conexão do banco de dados PostgreSQL.
"localhost",
"port" => "5432",
"dbname" => "",
"user" => "",
"password" => "",
"captcha_secret" => "0x0",
"captcha_data-sitekey" => "",
"cepaberto" => ""
];
?># Informe o nome da pasta em que o projeto está executando no arquivo index.php
# Exemplo:
define('ENDERECO', '/php-pdo-oop-clean-urls-postgresql'); // ou
define('ENDERECO', '/' . basename(__DIR__)); // ou
define('ENDERECO', '/douglas/' . basename(__DIR__)); // ou
define('ENDERECO', ''); //se executar no dirtorio root.# Usuário e senha padrão do software: admin
```## Modelagem do banco
A pasta pgmodeler contem a modelagem do banco usando o programa pgModeler 0.9.4, bem como uma imagem da modelagem e o arquivo sql de criação do banco.
É necessario estar instalado o módulo pgsql para php para uma correta comunicação.![Logo API](./pgmodeler/database_model.png)
## Diagrama de classes
A [pasta modelagem](https://github.com/douglascarlos-dev/Clientes-Gestor/tree/main/modelagem) contem os diagramas de UML criados usando o programa PlantUML, permitindo identificar as classes, métodos, atores e interações utilizadas na execução do software.
![Class Diagram](./modelagem/Class_Diagram.png)