GithubHelp home page GithubHelp logo

douglascarlos-dev / clientes-gestor Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 0.0 6.38 MB

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

Home Page: https://clientesgestor.douglascarlos.dev

License: Apache License 2.0

PHP 53.69% PLpgSQL 29.63% JavaScript 16.68%
banco-de-dados pgmodeler php pdo bootstrap4 postgresql oop mvc jquery sql hcaptcha dompdf pdf upload-images api

clientes-gestor's Introduction

Clientes Gestor

Static Badge Static Badge Static Badge Static Badge

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

Logo API

Recursos usados no desenvolvimento:

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:

# Antes de tudo, clone o projeto
$ git clone https://github.com/douglascarlos-dev/Clientes-Gestor

Configuração:

# Entre na pasta 'model' do projeto e crie um arquivo database.php
# com os dados de conexão do banco de dados PostgreSQL.
<?php
return [
    "host" => "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

Diagrama de classes

A pasta 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

clientes-gestor's People

Contributors

douglascarlos-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

clientes-gestor's Issues

hCaptcha

Adicionar hcaptcha na página de login.

Busca

Em situações com muitos cadastros uma busca pode levar tempo.
Adicionar um mecanismo de busca de forma a se localizar um cadastro mais rapidamente.

API REST para LANDING PAGES

Criar uma API REST para captura de dados de landing pages.

  • Campos adicionais podem não estar disponíveis no momento mas devem ser previstas a sua adição.
  • Um desafio de segurança pode ser requerido de forma adicional para proteção.
  • Mecanismos para validar o e-mail e o telefone são fundamentais.
  • A página de validação pode entregar um arquivo de recompensa.

Relatório de cadastro.

Um relatório bem formatado para exportar um cadastro faz se necessário caso requerido a impressão do cadastro.

Foto

Adicionar foto ao cadastro do cliente.

CEP Correios

Criar uma funcionalidade que preenche automaticamente o Estado e a Cidade ao informa o CEP.

Compromissos

Criar uma funcionalidade de controle de compromissos.
Ela deve pode ser usada com diversos tipos de compromissos a fim de se adequar com a necessidade do usuário do sistema.

Alguns compromissos que deve ser possível cadastrar:

  • Consulta;
  • Exame;
  • Mensalidade;
  • Parcela;
  • Visita;

Possíveis campos:

  • Título;
  • Descrição;
  • Data;
  • Documento relacionado;
  • Valor;
  • Tag de status(Ex: Pago, Agendado, Entrar em Contato, Confirmado...)

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.