{"id":26742239,"url":"https://github.com/alencar7/cadastroapi","last_synced_at":"2026-05-19T09:09:43.693Z","repository":{"id":284813367,"uuid":"956134569","full_name":"Alencar7/CadastroAPI","owner":"Alencar7","description":"Cadastro for SpringBoot","archived":false,"fork":false,"pushed_at":"2025-05-23T13:22:21.000Z","size":104,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-23T14:53:51.498Z","etag":null,"topics":["api","backend","java","springboot"],"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/Alencar7.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}},"created_at":"2025-03-27T18:52:17.000Z","updated_at":"2025-05-23T13:22:25.000Z","dependencies_parsed_at":"2025-04-24T19:22:30.332Z","dependency_job_id":null,"html_url":"https://github.com/Alencar7/CadastroAPI","commit_stats":null,"previous_names":["alencar7/cadastroapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Alencar7/CadastroAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alencar7%2FCadastroAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alencar7%2FCadastroAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alencar7%2FCadastroAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alencar7%2FCadastroAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alencar7","download_url":"https://codeload.github.com/Alencar7/CadastroAPI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alencar7%2FCadastroAPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262103093,"owners_count":23259390,"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":["api","backend","java","springboot"],"created_at":"2025-03-28T06:17:12.067Z","updated_at":"2026-05-19T09:09:43.664Z","avatar_url":"https://github.com/Alencar7.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CadastroAPI - Sistema de Cadastro de Ninjas e Missões\nBem-vindo ao CadastroAPI, uma API RESTful desenvolvida em Java com Spring Boot para gerenciamento de ninjas e missões, inspirada no universo do anime Naruto. Este projeto implementa um CRUD (Create, Read, Update, Delete) simples, permitindo o cadastro, consulta, atualização e exclusão de ninjas e missões, ideal para aprendizado e prática de desenvolvimento de APIs.\n## Sobre o Projeto\nO CadastroAPI é um sistema backend que simula o gerenciamento de ninjas (como nome, vila, rank) e missões (como descrição, tipo, nível de dificuldade) no contexto do anime Naruto. A API foi projetada para ser simples, mas funcional, utilizando boas práticas de desenvolvimento com Spring Boot e integração com banco de dados MySQL.\n## Funcionalidades\nGerenciamento de Ninjas:\nCriação de novos ninjas com atributos como nome, vila e rank.\n\nListagem de todos os ninjas cadastrados.\n\nAtualização de informações de ninjas existentes.\n\nExclusão de ninjas.\n\n## Gerenciamento de Missões:\nCriação de missões com detalhes como descrição, tipo (ex.: rank D, C, B, A, S) e nível de dificuldade.\n\nListagem de todas as missões.\n\nAtualização de missões existentes.\n\nExclusão de missões.\n\n## Tecnologias Utilizadas\nJava 17: Linguagem principal do projeto.\n\nSpring Boot 3.2.5: Framework para construção da API RESTful.\n\nSpring Data JPA: Para mapeamento objeto-relacional e interação com o banco de dados.\n\nMySQL: Banco de dados relacional para persistência de dados.\n\nMaven: Gerenciador de dependências e build.\n\nLombok: Para redução de código boilerplate.\n\n## Pré-requisitos\nPara executar o projeto localmente, você precisará de:\nJava JDK 17 ou superior.\n\nMaven 3.8+.\n\nMySQL (versão 8.0 ou superior) instalado e configurado.\n\nGit para clonar o repositório.\n\nUma ferramenta para testar APIs, como Postman ou Insomnia.\n\n## Configuração do Ambiente\nSiga os passos abaixo para configurar e executar a API:\nClone o repositório:\n```bash\n\ngit clone https://github.com/Alencar7/CadastroAPI.git\n```\n## Acesse o diretório do projeto:\n```bash\n\ncd CadastroAPI\n```\n## Configure o banco de dados:\nCrie um banco de dados MySQL chamado cadastroapi:\n```sql\n\nCREATE DATABASE cadastroapi;\n```\nAtualize o arquivo src/main/resources/application.properties com as credenciais do seu banco de dados:\n```properties\n\nspring.datasource.url=jdbc:mysql://localhost:3306/cadastroapi?useSSL=false\u0026serverTimezone=UTC\nspring.datasource.username=seu_usuario\nspring.datasource.password=sua_senha\nspring.jpa.hibernate.ddl-auto=update\nspring.jpa.show-sql=true\n```\nCompile e execute a aplicação:\n```bash\n\nmvn clean install\nmvn spring-boot:run\n```\nA API estará disponível em http://localhost:8080.\n\n## Endpoints Principais\nA API fornece os seguintes endpoints para interação:\n\n| Método | Endpoint                | Descrição                        |\n|--------|-------------------------|----------------------------------|\n| GET    | /api/ninjas             | Lista todos os ninjas.           |\n| GET    | /api/ninjas/{id}        | Retorna um ninja por ID.         |\n| POST   | /api/ninjas             | Cria um novo ninja.              |\n| PUT    | /api/ninjas/{id}        | Atualiza um ninja existente.     |\n| DELETE | /api/ninjas/{id}        | Exclui um ninja por ID.          |\n\n**Exemplo de corpo para POST/PUT (Ninja)**:\n```json\n\n{\n  \"name\": \"Naruto Uzumaki\",\n  \"village\": \"Konoha\",\n  \"rank\": \"Genin\"\n}\n```\n### Missões\n\n| Método | Endpoint                | Descrição                        |\n|--------|-------------------------|----------------------------------|\n| GET    | /api/missions           | Lista todas as missões.          |\n| GET    | /api/missions/{id}      | Retorna uma missão por ID.       |\n| POST   | /api/missions           | Cria uma nova missão.            |\n| PUT    | /api/missions/{id}      | Atualiza uma missão existente.   |\n| DELETE | /api/missions/{id}      | Exclui uma missão por ID.        |\n\n**Exemplo de corpo para POST/PUT (Missão)**:\n```json\n{\n  \"description\": \"Escoltar comerciante até Vila da Areia\",\n  \"type\": \"C\",\n  \"difficulty\": \"Média\"\n}\n\n```\n\n## Testando a API\nPara testar os endpoints, utilize ferramentas como Postman ou Insomnia. Certifique-se de que a API está rodando localmente (http://localhost:8080) e envie requisições com os formatos JSON apropriados.\nExemplo de teste com cURL para criar um ninja:\n```bash\n\ncurl -X POST http://localhost:8080/api/ninjas \\\n-H \"Content-Type: application/json\" \\\n-d '{\"name\":\"Naruto Uzumaki\",\"village\":\"Konoha\",\"rank\":\"Genin\"}'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falencar7%2Fcadastroapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falencar7%2Fcadastroapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falencar7%2Fcadastroapi/lists"}