Catalog · How the catalog works
report-delphi
Projeto Delphi 12 Community Edition que demonstra o CRUD de duas tabelas ("empregados" e "departamentos"), além de utilizar o FastReport para a criação de um relatório mostrando os valores incluídos nas tabelas.
- ★ 1 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
report-delphi
Aplicação Delphi desenvolvida utilizando o padrão arquitetural MVVM (Model-View-ViewModel) para cadastro e manutenção de empregados e departamentos, persistindo os dados em um banco PostgreSQL.
A aplicação é dividida em camadas bem definidas: Model, ViewModel e View, e utiliza FireDAC para acesso ao banco, com transações, rollback automático, e componentes visuais com eventos conectados à lógica de negócio. O projeto também permite emissão de relatórios utilizando FastReport.
Organização do Projeto
src/
????????? Conex??o/
| ????????? Conexao.Model.pas # Classe de conexão global via FireDAC e PostgreSQL
???
????????? Departamento/
??? ????????? Departamento.Model.pas # Classe de domínio Departamento
??? ????????? Departamento.ViewModel.pas # ViewModel com CRUD e transações
???
????????? Empregado/
??? ????????? Empregado.Model.pas # Classe de domínio Empregado
??? ????????? Empregado.ViewModel.pas # ViewModel com CRUD, rollback e transações
???
????????? Principal/
??? ????????? Principal.View.pas # Formulário principal contendo as telas de cadastro e botão para geração do relatório
???
????????? Relatorios/
??? ????????? REL_EMPREGADOS.fr3 # Relatório FastReport de empregados por departamento
???
????????? SQL/ # Pasta para organizar os scripts SQL + BKPDependências Utilizadas
- FireDAC: biblioteca nativa da Embarcadero para acesso a banco de dados
- PostgreSQL: banco de dados relacional
- FastReport: geração de relatórios a partir de datasets vinculados
- Delphi 12 Alexandria: desenvolvimento FMX com suporte MVVM
Camadas e Responsabilidades
Model: contém classes POCO com propriedades dos domínios Empregado e DepartamentoViewModel: implementa lógica de negócio com uso de TFDQuery, controle de transações (StartTransaction, Commit, Rollback) e validaçõesView: interface visual com FMX; botões Buscar, Salvar e Excluir integrados aos métodos da ViewModelConexao.Model: função Connect centraliza configuração da conexão com PostgreSQL
Design Patterns e Práticas
MVVM: separação clara entre lógica (ViewModel) e visual (View)Rollback transacional: integridade garantida em operações de bancoInjeção de conexão: desacoplamento entre FireDAC e as camadasDTO-like Models: transporte seguro de dados entre camadas
Melhorias Futuras
- Inclusão de testes unitários com DUnitX
- Criação de um componente de serviço REST para acesso externo
- Tela de login com controle de permissões por usuário
Colaboradores
<table>
<tr>
<td align="center">
Maria Cichota
💻🛠️</td>
</tr>
</table>

