{"id":18632213,"url":"https://github.com/michelbernardods/cadastro-contatos","last_synced_at":"2025-11-04T07:30:19.548Z","repository":{"id":227545763,"uuid":"771729273","full_name":"michelbernardods/cadastro-contatos","owner":"michelbernardods","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-13T21:47:59.000Z","size":73,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T07:42:14.256Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/michelbernardods.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}},"created_at":"2024-03-13T20:54:47.000Z","updated_at":"2024-03-14T23:38:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"0bd63035-8fa4-4c4d-812a-5d20939dbb37","html_url":"https://github.com/michelbernardods/cadastro-contatos","commit_stats":null,"previous_names":["michelbernardods/cadastro-contatos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbernardods%2Fcadastro-contatos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbernardods%2Fcadastro-contatos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbernardods%2Fcadastro-contatos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michelbernardods%2Fcadastro-contatos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michelbernardods","download_url":"https://codeload.github.com/michelbernardods/cadastro-contatos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239426929,"owners_count":19636643,"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":[],"created_at":"2024-11-07T05:10:41.296Z","updated_at":"2025-11-04T07:30:19.503Z","avatar_url":"https://github.com/michelbernardods.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cadastrar Contatos\n\n## Descrição\nO projeto Cadastrar Contatos é uma aplicação para gerenciar contatos profissionais, fornecendo endpoints para realizar operações CRUD (Criar, Ler, Atualizar e Deletar) de contatos e profissionais. Ele foi desenvolvido em Java com o framework Spring Boot.\n\n## Funcionalidades\n\n### Contatos\n- Listar todos os contatos\n- Filtrar contatos por termo de busca e campos específicos\n- Obter detalhes de um contato por ID\n- Cadastrar um novo contato associado a um profissional\n- Atualizar os dados de um contato existente\n- Deletar um contato\n\n### Profissionais\n- Listar todos os profissionais\n- Filtrar profissionais por termo de busca e campos específicos\n- Obter detalhes de um profissional por ID\n- Cadastrar um novo profissional\n- Atualizar os dados de um profissional existente\n- Deletar um profissional\n\n## Estrutura do Projeto\nO projeto está dividido em pacotes de controller, service, model e repository.\n\n- `controller`: Contém os controladores responsáveis por receber as requisições HTTP, chamar os serviços correspondentes e retornar as respostas adequadas.\n- `service`: Contém a lógica de negócio da aplicação, onde são realizadas as operações sobre os dados.\n- `model`: Define as classes de modelo para os contatos e profissionais.\n- `repository`: Interface que estende JpaRepository para acesso aos dados no banco.\n\n## Pré-requisitos\n- Java 8 ou superior\n- Maven\n- Banco de dados (H2, MySQL, PostgreSQL, etc.)\n\n## Configuração do Ambiente\n1. Clone este repositório: git clone https://github.com/seu-usuario/seu-repositorio.git\n\n\n2. Importe o projeto em sua IDE favorita.\n\n3. Certifique-se de ter configurado corretamente o banco de dados no arquivo `application.properties`.\n\n4. Execute o projeto.\n\nSwegger endpoints:\nhttp://localhost:8080/swagger-ui/index.html\n\n## Endpoints de Contato\n### `GET /contatos`\n\nLista de contatos com base nos critérios definidos em Params.\n\n#### Params\n\n- `q` - String: Filtro para buscar contatos que contenham o texto em qualquer um de seus atributos.\n- `fields` - List\u003cString\u003e (Opcional): Quando presente, apenas os campos listados em `fields` deverão ser retornados.\n\n#### Response\n\nRetorna uma lista de contatos.\n\n---\n\n### `GET /contatos/:id`\n\nRetorna todos os dados do contato que possui o ID passado na URL.\n\n#### Response\n\nRetorna os dados do contato com o ID especificado.\n\n---\n\n### `POST /contatos`\n\nInsere no banco de dados os dados do contato enviados via body.\n\n#### Body\n\n- Content-type: Json\n\n#### Response\n\nRetorna \"Sucesso: contato com id {ID} cadastrado\" após a inserção.\n\n---\n\n### `PUT /contatos/:id`\n\nAtualiza os dados do contato que possui o ID passado via URL com os dados enviados no Body.\n\n#### Body\n\n- Content-type: Json\n\n#### Response\n\nRetorna \"Sucesso: contato alterado\" após a atualização.\n\n---\n\n### `DELETE /contatos/:id`\n\nExclui o contato que possui o ID passado na URL.\n\n#### Response\n\nRetorna \"Sucesso: contato excluído\" após a exclusão.\n\n\n## Endpoints de Profissional\n### `GET /profissionais`\n\nLista de profissionais com base nos critérios definidos em Params.\n\n#### Params\n\n- `q` - String: Filtro para buscar profissionais que contenham o texto em qualquer um de seus atributos.\n- `fields` - List\u003cString\u003e (Opcional): Quando presente, apenas os campos listados em `fields` deverão ser retornados.\n\n#### Response\n\nRetorna uma lista de profissionais.\n\n---\n\n### `GET /profissional/:id`\n\nRetorna todos os dados do contato que possui o ID passado na URL.\n\n#### Response\n\nRetorna os dados do contato com o ID especificado.\n\n---\n\n### `POST /profissionais`\n\nInsere no banco de dados os dados do contato enviados via body.\n\n#### Body\n\n- Content-type: Json\n\n#### Response\n\nRetorna \"Sucesso: contato com id {ID} cadastrado\" após a inserção.\n\n---\n\n### `PUT /profissional/:id`\n\nAtualiza os dados do contato que possui o ID passado via URL com os dados enviados no Body.\n\n#### Body\n\n- Content-type: Json\n\n#### Response\n\nRetorna \"Sucesso: contato alterado\" após a atualização.\n\n---\n\n### `DELETE /profissional/:id`\n\nExclui o contato que possui o ID passado na URL.\n\n#### Response\n\nRetorna \"Sucesso: contato excluído\" após a exclusão.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichelbernardods%2Fcadastro-contatos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichelbernardods%2Fcadastro-contatos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichelbernardods%2Fcadastro-contatos/lists"}