{"id":23093226,"url":"https://github.com/rickicr-collab/projeto-carometro","last_synced_at":"2025-04-03T18:45:37.143Z","repository":{"id":265969906,"uuid":"895535948","full_name":"rickicr-collab/Projeto-Carometro","owner":"rickicr-collab","description":"Projetos de aprendizado com Java","archived":false,"fork":false,"pushed_at":"2024-12-05T13:08:46.000Z","size":7334,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T07:14:40.738Z","etag":null,"topics":["java","language-java","linguagem-java","logica-de-programacao","logical-programming"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rickicr-collab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-28T11:48:18.000Z","updated_at":"2024-12-04T15:21:00.000Z","dependencies_parsed_at":"2024-12-02T12:32:52.599Z","dependency_job_id":null,"html_url":"https://github.com/rickicr-collab/Projeto-Carometro","commit_stats":null,"previous_names":["rickicr-collab/projetos-java","rickicr-collab/projeto-carometro"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickicr-collab%2FProjeto-Carometro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickicr-collab%2FProjeto-Carometro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickicr-collab%2FProjeto-Carometro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickicr-collab%2FProjeto-Carometro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rickicr-collab","download_url":"https://codeload.github.com/rickicr-collab/Projeto-Carometro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247061250,"owners_count":20877166,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","language-java","linguagem-java","logica-de-programacao","logical-programming"],"created_at":"2024-12-16T21:46:43.964Z","updated_at":"2025-04-03T18:45:37.121Z","avatar_url":"https://github.com/rickicr-collab.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto de Sincronização de Dados com MySQL em Java\n\nEste projeto tem como objetivo realizar a sincronização dinâmica de dados entre uma aplicação Java e um banco de dados MySQL. Ele permite o cadastro, atualização, exclusão e recuperação de dados do banco, com estrutura organizada para garantir a boa gestão dos dados e a validação de campos na aplicação.\n\n## Estrutura do Projeto\n\nAbaixo está a organização dos pacotes e suas respectivas funcionalidades:\n\n## Imagem da Tela do Aplicativo\n\nAbaixo está uma captura de tela do aplicativo em execução. A imagem mostra a interface principal da aplicação.\n\n![Tela do Aplicativo](assets/tela-app.jpg)\n\n\n### Pacote `model`\nContém a classe `DAO` (Data Access Object), responsável pela conexão com o banco de dados MySQL e pela execução das operações de CRUD (Create, Read, Update, Delete).\n\n- **Classe DAO**: Responsável pela conexão com o banco de dados MySQL e execução das consultas para sincronização de dados entre a aplicação e o banco.\n\n### Pacote `util`\nContém a classe `Validador`, com métodos para validar dados inseridos nos campos da aplicação, evitando conflitos e garantindo que os dados estejam no formato correto antes de serem processados.\n\n- **Classe Validador**: Oferece funções para validar caracteres em campos específicos, como nome, e-mail, entre outros. A validação garante que dados inconsistentes não sejam enviados para o banco, prevenindo falhas.\n\n### Pacote `view`\nContém a interface principal da aplicação e a classe sobre o projeto.\n\n- **Classe Carometro**: Representa a aplicação principal, onde o usuário interage com a interface para cadastrar, atualizar, excluir e visualizar os dados.\n  \n- **Classe Sobre**: Contém informações sobre a licença do produto, autor do projeto e o repositório onde o código está armazenado.\n\n## Funcionalidades\n\n- **Cadastro de Dados**: O usuário pode cadastrar novos dados, que são sincronizados automaticamente com o banco de dados MySQL.\n  \n- **Atualização de Dados**: Dados existentes podem ser recuperados, atualizados e sincronizados com o banco.\n  \n- **Exclusão de Dados**: O sistema permite a exclusão de registros no banco de dados, refletindo a mudança na aplicação.\n\n- **Validação de Campos**: Antes de inserir ou atualizar os dados, o sistema valida campos específicos, como e-mails e nomes, para garantir que estejam corretos.\n\n- **Gerador de PDF**: Este projeto utiliza a biblioteca externa **iText** para gerar relatórios em PDF com base nas informações armazenadas em uma tabela do banco de dados.\n\n\n## Como Executar o Projeto\n\n### Pré-requisitos\n1. Banco de dados MySQL configurado e instalado no computador.\n2. Java 8 ou superior instalado.\n3. Dependências do MySQL para Java (JDBC) incluídas no projeto.\n\n`Configure o Banco de Dados`\n1. Nome do Banco de Dados O banco de dados utilizado neste projeto é o bdcarometro, mas você pode criar o seu próprio banco de dados com o nome que preferir.\n2. No código-fonte Java, dentro da classe DAO.java, você deve configurar a URL do banco de dados, o usuário e a senha para a conexão.\n3. O nome do banco de dados é bdcarometro, mas você pode alterar o nome do banco conforme sua preferência. A senha do banco está configurada como vazia no código, mas você deve definir sua própria senha ao instalar e configurar o MySQL.\n\n\n### Passos para Execução\n\n1. **Clone o Repositório**:\n   ```bash\n   git clone https://github.com/seu-usuario/seu-repositorio.git\n\n###Estruturas das Tabelas no Banco de Dados MySQL\n\nO banco de dados MySQL e tabela principal para o armazenamento dos dados:\n\n```sql\nCREATE DATABASE bdcarometro;\n\nCREATE TABLE alunos (\n    ra INT PRIMARY KEY AUTO_INCREMENT,\n    nome VARCHAR(30) NOT NULL,\n    foto LONGBLOB NOT NULL\n);\n\n\n/Projeto-Carometro\n│\n├── /src\n│   ├── /model\n│   │   └── DAO.java              # Classe responsável pela conexão com o banco de dados MySQL e execução de operações CRUD\n│   │\n│   ├── /util\n│   │   └── Validador.java        # Classe contendo métodos para validação de campos específicos\n│   │\n│   └── /view\n│       ├── Carometro.java        # Classe representando a aplicação principal, interface de interação com o usuário\n│       └── Sobre.java            # Classe com informações sobre o projeto, autor e licença\n│\n└── README.md                    # Arquivo contendo informações sobre o projeto\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickicr-collab%2Fprojeto-carometro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickicr-collab%2Fprojeto-carometro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickicr-collab%2Fprojeto-carometro/lists"}