Este é um projeto de aprendizado sobre programação desktop com Java, interfaces gráficas em Java Swing, ersistência de dados com Hibernate, Internacionalização e Exportação de dados para PDF. O sistema não deve ser utilizado para fins comerciais ou em produção, servindo apenas como referência instrucional em disciplinas de cursos da área.
Realize o download da última versão disponível. É necessário o JDK 18+ para rodar a aplicação. O diretório de execução do projeto precisa ter o executável .jar e o diretório de arquivos de idiomas.
- Cadastro de pessoas (atualmente somente armazena o nome);
- Cadastro de endereços, com logradouro e número. Cada pessoa pode ter múltiplos endereços.
- Gerador de etiquetas: para cada endereço é possível gerar etiqueta de destinatário, abre o PDF automaticamente após cada solicitação de geração do arquivo. Existe espaço de melhoria aqui pois a etiqueta consta parcialmente pronta.
O projeto utiliza como gerenciador de dependência o Maven, sendo que a estrutura de diretórios consta como:
- DAO: classes que operam aspectos de banco de dados com as entidades;
- entities: classes entidades do sistema (Model do MVC);
- gui: classes de interfaces gráficas do sistema (Controller/View do MVC);
- services: classes de serviços de terceiros do sistema, aqui reside atualmente a classe que gera o PDF;
- utilities: classes utilitárias para todos os demais componentes do sistema, pode conter gerador de dados de teste, configurações de banco de dados, etc.
Após realizar o download para desenvolvimento, na raíz do projeto, renomeie o arquivo hibernate-exemplo.cfg.xml para hibernate.cfg.xml e informe as credenciais do seu banco de dados. A configuração atual irá criar o banco baseado nas classes entidades.
O presente projeto utiliza como SGBD o MySQL e por meio do Hibernate realiza as persistência dos objetos e o gerenciamento dos dados.
Utiliza o plugin maven-javadoc-plugin para gerar o javadoc para fins de empacotamento no executável .jar (gera também o site com o HTML de documentação de toda a API do código).
O projeto usa o plugin maven-assembly-plugin que gera executável com todo o empacotamente das dependências e javadoc no mesmo .jar.
Por meio do iText pe fornecido um exemplo de geração de etiquetas simples de envio de correspondência via correios.
O sistema atualmente consta em português e inglês e se apresenta automaticamente no idioma do usuário de acordo com o idioma do sistema operacional.
Pull requests são bem vindos. Para mudanças grandes abra uma issue primeiro para discutir as mudanças desejadas. Para outras colaborações, informe no seu pull request os detalhes e motivações na contribuição.