{"id":26197772,"url":"https://github.com/carlos-dms/contact-manager","last_synced_at":"2026-04-24T10:31:39.818Z","repository":{"id":277621242,"uuid":"933010273","full_name":"Carlos-DMS/contact-manager","owner":"Carlos-DMS","description":"API para gerenciamento de pessoas e seus contatos.","archived":false,"fork":false,"pushed_at":"2025-02-27T17:07:23.000Z","size":50,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-25T22:33:44.010Z","etag":null,"topics":["h2-database","java","rest-api","spring-boot","springdoc-openapi-ui"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Carlos-DMS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-15T00:02:16.000Z","updated_at":"2025-03-05T15:53:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"b165e296-20d1-49f4-a4fa-065ae8fd6f83","html_url":"https://github.com/Carlos-DMS/contact-manager","commit_stats":null,"previous_names":["carlos-dms/contact-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Carlos-DMS/contact-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carlos-DMS%2Fcontact-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carlos-DMS%2Fcontact-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carlos-DMS%2Fcontact-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carlos-DMS%2Fcontact-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Carlos-DMS","download_url":"https://codeload.github.com/Carlos-DMS/contact-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carlos-DMS%2Fcontact-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32218930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["h2-database","java","rest-api","spring-boot","springdoc-openapi-ui"],"created_at":"2025-03-12T02:48:50.654Z","updated_at":"2026-04-24T10:31:39.800Z","avatar_url":"https://github.com/Carlos-DMS.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# contact-manager\n\n**Objetivo:**  \nGerenciar relações entre pessoas e seus contatos.\n\n**Contexto:**  \nEste projeto foi desenvolvido durante o processo de capacitação para a Indra Minsait, como parte de uma avaliação técnica.\n\n---\n\n## Tecnologias e Dependências\n\n- **Linguagem:** Java (JDK 21)\n- **Framework:** Spring Boot\n- **Gerenciador de Dependências:** Maven\n- **Principais Dependências:**\n    - Spring Web\n    - Spring Data JPA\n    - H2 Database (em memória)\n    - Spring Boot Starter Validation\n    - SpringDoc OpenAPI (Swagger-UI)\n\n---\n\n## Pré-requisitos\n\n- **JDK 21:** Certifique-se de que a JDK 21 esteja instalada e configurada em seu ambiente.\n- **Maven:** Para baixar as dependências e compilar o projeto.\n- **Ambiente de Desenvolvimento:** Recomenda-se utilizar uma IDE como o IntelliJ IDEA.\n\n---\n\n## Instalação e Execução\n\n1. **Clone o Repositório:**\n\n   ```bash\n   git clone \u003chttps://github.com/Carlos-DMS/contact-manager.git\u003e\n   ```\n\n2. **Abra o Projeto na IDE:**  \n   Importe o projeto utilizando sua IDE preferida (ex.: IntelliJ IDEA) e configure o uso da JDK 21.\n\n3. **Baixe as Dependências:**  \n   Execute o Maven para baixar todas as dependências necessárias.\n\n4. **Inicie o Projeto:**  \n   Inicie a aplicação diretamente pela IDE ou via comando Maven:\n\n   ```bash\n   mvn spring-boot:run\n   ```\n\n5. **Acesse a Aplicação:**\n    - API: [http://localhost:8080](http://localhost:8080)\n    - Swagger UI (Documentação da API): [http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)\n\n---\n\n## Acessando o Banco de Dados H2\n\nApós iniciar a aplicação, abra seu navegador e acesse:  \n[http://localhost:8080/h2-console](http://localhost:8080/h2-console)\n\nNa tela de login do H2, preencha os campos da seguinte forma:\n\n- **Driver Class:** `org.h2.Driver`\n- **JDBC URL:** `jdbc:h2:mem:testdb`\n- **User Name:** `sa`\n- **Password:** (deixe em branco)\n\nEm seguida, clique em **Test Connection** (opcional) para verificar a conexão e depois em **Connect** para acessar o console do H2.\n\n---\n\n## Documentação da API\n\nA API está completamente documentada com Swagger UI. Após iniciar o projeto, acesse a documentação em:\n\n[http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html)\n\n---\n\n## Estrutura do Projeto (Arquitetura em Camadas)\n\nA estrutura de diretórios do projeto está organizada da seguinte forma:\n\n- **models:** Contém as classes que representam as entidades do domínio.\n- **controllers:** Responsáveis por receber as requisições HTTP e direcioná-las para os serviços.\n- **services:** Camada de lógica de negócio.\n- **repositories:** Interface para a persistência dos dados.\n- **dtos:** Objetos de transferência de dados entre as camadas.\n- **exceptions:** Tratamento de exceções personalizadas.\n\n---\n\n## Contribuição\n\nContribuições são bem-vindas! Caso deseje contribuir:\n\n- **Issues:** Abra uma _issue_ para sugerir melhorias ou reportar bugs.\n- **Pull Requests:** Envie suas contribuições por meio de _pull requests_.  \n  **Observação:** Os commits devem seguir as convenções em inglês, utilizando prefixos como `feat:`, `fix:` e `wip:`.\n\n---\n\n## Melhorias Futuras\n\n- **Documentação de Funcionalidades com JavaDoc:** Implementar comentários JavaDoc em todas as classes e métodos para melhorar a compreensão e manutenção do código.\n- **Integração com Testes:** Desenvolver testes unitários e de integração para garantir a qualidade da aplicação.\n\n---\n\n## Contato\n\n- **LinkedIn:** [Carlos Daniel Martins Sanguino](https://www.linkedin.com/in/carlos-daniel-martins-sanguino-72b46a2a0/)\n- **Email:** [carlos.dsanguino@gmail.com](mailto:carlos.dsanguino@gmail.com)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlos-dms%2Fcontact-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarlos-dms%2Fcontact-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlos-dms%2Fcontact-manager/lists"}