Note for english speakers
This is the project that I used for teaching basic PHP to Junior devs at a company that I used to work for here in Brazil, so:
- This project is only available in Brazilian Porgutuese.
- The code was developed in a simplistic way for teaching purposes, putting aside more elaborate code patterns.
Sobre o projeto
Este projeto era utilizado para ministrar as minhas aulas de introdução ao PHP para iniciantes em programação. Basicamente trata-se de um sistema de folha de pagamento simplificado de uma prefeitura fictícia.
Esta aplicação web era desenvolvida ao longo de uma carga horária de 64 horas, que englobava HTML, PostgreSQL, PHP básico, comunicação entre PHP e banco de dados e programação orientada a objetos. Como o foco do curso em questão era o back-end, toda interface já tinha sido desenvolvida por mim antes do início das aulas, assim, os alunos focavam apenas em desenvolver a regra de negócio.
A interface utilizada neste projeto foi idealizada pelo meu amigo Amilton Schlemper - UI/UX Designer. Você pode conferir a prototipação em detalhes no arquivo .fig, localizado na pasta assets deste repositório.
Live demo
O projeto não está disponível porque não foi encontrada nenhuma solução gratuita viável para hospedagem.Funcionalidades
As funcionalidades básicas desta aplicação são:
- Cadastro, remoção e listagem de cidades
- Cadastro, remoção e listagem de cargos
- Cadastro, remoção e listagem de funcionários
- Cálculo de pagamento de funcionário
- Consulta de pagamento de funcionário
Front-end
O lado do cliente desta aplicação foi desenvolvido com HTML, e CSS, contando com JavaScript apenas para pequenas manipulações.
Layout
Como a trilha de aprendizados era de fato o back-end, a aplicação conta apenas com interface desktop.
Back-end
Esta aplicação foi escrita em Vanilla PHP, utilizando apenas o composer para fazer a inclusão automática das classes através do namespaces.
Como o foco principal deste projeto é a didática, o mesmo foi desenvolvido de forma simplificada. Assim sendo, para fins de produção/comerciais, seu código fonte teria de ser refatorado e reescrito em uma arquitetura mais elaborada.
Banco de Dados
O banco de dados escolhido para desenvolver este projeto foi o PostgreSQL. Veja a seguir uma breve descrição de suas tabelas:
- tbcidade: armazena as cidades a serem vinculadas aos funcionários;
- tbcargo: armazena os cargos a serem vinculados aos funcionários;
- tbfuncionario: armazena os funcionários. Possui vinculo com a tabela tbcargo e tbcidade;
- tbpagamento: armazena pagamentos realizados para os funcionários.
Como configurar
Se você deseja fazer um fork deste projeto, você precisará configurar as seguintes variáveis de ambiente:
- DATABASE_URL (String de conexão com o banco de dados)
Autores
Full stack desenvolvido por Matheus do Livramento.
Interface do usuário criada por Amilton Schlemper.