Contribuições Iniciais

#1 O código foi atualizado para o padrão PSR. Os nomes das Classes e
Métodos devem ficar no estilo CamelCase. Ex.: "NomeDaClasse" e os
brackets "{" devem ficar abaixo nas classes e métodos e não ao lado.

#2 Foi implementada validação Server-Side usando a biblioteca
FormValidation nativa do Codeigniter, isso evita que um usuário
mal-intencionado utilize um Firebug, Inspetor do Chrome ou outro
formulário para gravar dados sem validação.

#3 No método "Salvar" do Controller "Usuario", foi implementada uma
validação customizada. A mesma está comentada

#4 As senhas dos usuários estavam sendo armazenadas como strings sem
criptografia. Foi implementada uma criptografia no padrão SHA256
visando manter as senhas dos usuários seguradas.

#5 Toda e qualquer interação com o banco de dados deve ser feita pelos
Models, e não há necessidade de criar 2 Models para realizar as mesmas
tarefas. O Controller serve de "ponte" entre a View e o Model

#6 O código foi re-identado, estava muito torto

#7 Foi instalada a tradução para português dos erros padrões do
Codeigniter

#8 Os Model "clientes_model" e "usuarios_model" foram cadastrados no
autoloader do Codeigniter, bem como as bibliotecas "form_validation" e
"pagination". Agora não é mais necessário incluir a chamada:
$this->load->model...

#9 Os blocos de sobrescrita dos construtores foram remotidos por não
ter utilidade

#10 Alguns arquivos, classes e métodos tiveram nomes atualizados
visando deixa-los mais intuitivos quanto ao seu conteúdo /
funcionamento.

#11 Os formulários de busca foram atualizados para o padrão get

#12 Se achar interessante, faça um CHANGELOG e um TODO LIST

#13 Todos os colaboradores devem utilizar comentários nos códigos para
que os outros entendam o que cada coisa faz e o que passou pela cabeça
de cada um.

#14 alguns arquivos duplicados de "Códigos para criação de tabelas"
foram removidos e a documentação do Codeigniter também

// To do

#1 A biblioteca nativa do Codeigniter para disparo de e-mails é meio
problemática. É interessante implementar o PHPMailler

#2 Implementar uma validação de propriedade dos registros. Atualmente
qualquer usuário pode ( via URL ) ter acesso e manipular registros de
outros usuários.

#3 Implementar uma validação Client-side mais legal, como o Bootstrap
Validator (http://bootstrapvalidator.com/)

#4 Implementar recurso para que o usuário tenha que validar um link
enviado para o e-mail, após o cadastro, só podendo ter acesso ao
sistema após essa validação

#5 Não enviar a senha do usuário pelo e-mail (Até por que seria enviada
de forma criptografada), enviar um link para que ele possa recadastrar
uma nova senha

#6 Implementar uma confirmação utilizando o Bootstrap Modal ( fica mais
bonito e hum
 para o usuário)

#7 Revisar o código com mais calma a procura de possíveis bugs

#8 Melhorar a modelagem do banco de dados, seria interessante inclui um
diagrama