{"id":23084648,"url":"https://github.com/grupo2generation77/delivery-generation-gp2","last_synced_at":"2026-02-01T23:32:39.183Z","repository":{"id":267481248,"uuid":"901345998","full_name":"grupo2generation77/delivery-generation-gp2","owner":"grupo2generation77","description":"API para sistema de delivery de comida com gerenciamento de usuários, produtos e categorias. Inclui recomendação de produtos saudáveis.","archived":false,"fork":false,"pushed_at":"2024-12-11T21:13:21.000Z","size":72,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-30T15:27:24.105Z","etag":null,"topics":["api","java","mysql","rest-api","spring-boot","spring-data-jpa"],"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/grupo2generation77.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":"2024-12-10T13:44:59.000Z","updated_at":"2024-12-17T14:42:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"e089df4c-0f4d-4e0a-bcc9-b3b9ce75f5cb","html_url":"https://github.com/grupo2generation77/delivery-generation-gp2","commit_stats":null,"previous_names":["grupo2generation77/delivery-generation-gp2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grupo2generation77/delivery-generation-gp2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grupo2generation77%2Fdelivery-generation-gp2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grupo2generation77%2Fdelivery-generation-gp2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grupo2generation77%2Fdelivery-generation-gp2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grupo2generation77%2Fdelivery-generation-gp2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grupo2generation77","download_url":"https://codeload.github.com/grupo2generation77/delivery-generation-gp2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grupo2generation77%2Fdelivery-generation-gp2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28994918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: 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":["api","java","mysql","rest-api","spring-boot","spring-data-jpa"],"created_at":"2024-12-16T16:41:48.339Z","updated_at":"2026-02-01T23:32:39.173Z","avatar_url":"https://github.com/grupo2generation77.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍔 API de Delivery de Comida\n\n## 📝 Descrição  \nEsta é uma **API REST** para um sistema de **delivery de comida**. O sistema gerencia:\n- **Usuários**, que podem ter produtos.\n- **Produtos** (itens disponíveis para compra).\n- **Categorias**, que classificam os produtos.\n\nFuncionalidades incluem operações **CRUD** para cada entidade e uma recomendação de produtos saudáveis.  \nEsta API está pronta para ser consumida por outros sistemas ou aplicativos.\n\n---\n\n## 🛠️ Tecnologias Utilizadas  \n- **Java 17**: Linguagem de programação principal.  \n- **Spring Boot**: Framework para desenvolvimento rápido de aplicações.  \n- **Spring Data JPA**: Para mapeamento objeto-relacional.  \n- **MySQL**: Banco de dados relacional.  \n- **Maven**: Gerenciador de dependências.  \n- **Spring Web**: Para exposição de APIs REST.  \n- **Insomnia**: Para testes e documentação das APIs.  \n\n---\n\n## 🔗 Relacionamento entre Entidades\n\n```mermaid\nerDiagram\n    USUARIO {\n        Long id\n        String nome\n        String email\n        String foto\n        String senha\n    }\n    PRODUTO {\n        Long id\n        String nome\n        String descricao\n        Long valor\n        Boolean saudavel\n    }\n    CATEGORIA {\n        Long id\n        String nome\n        String descricao\n    }\n    USUARIO ||--o{ PRODUTO : pedidos\n    PRODUTO }o--|| CATEGORIA : pertence\n```\n---\n\n## 📂 Estrutura do Projeto  \n\n### 🧑‍💻 Entidades e Relacionamentos  \n\n#### 1️⃣ **Usuário**\nRepresenta os usuários do sistema, que podem realizar pedidos.  \n**Atributos**:  \n- `id (Long)`: Identificador único.  \n- `nome (String)`: Nome do usuário.  \n- `email (String)`: Endereço de e-mail do usuário.  \n- `foto (String)`: URL da foto do usuário.  \n- `senha (String)`: Senha para autenticação.  \n- `produtos (List\u003cProduto\u003e)`: Lista de produtos do usuário.  \n\n**Relacionamento**:  \n- Um usuário pode ter vários produtos no histórico de pedidos.  \n\n#### 2️⃣ **Produto**\nRepresenta os itens disponíveis para entrega.  \n**Atributos**:  \n- `id (Long)`: Identificador único.  \n- `nome (String)`: Nome do produto.  \n- `descricao (String)`: Descrição detalhada do produto.  \n- `valor (Long)`: Preço do produto.  \n- `categoria (Categoria)`: Categoria a que o produto pertence.\n- `saudavel (Boolean)`: Indica se o produto é saudável ou não.  \n\n**Relacionamento**:  \n- Um produto pertence a uma categoria.  \n\n#### 3️⃣ **Categoria**\nClassifica os produtos, como \"Bebidas\", \"Sobremesas\" ou \"Pratos Principais\".  \n**Atributos**:  \n- `id (Long)`: Identificador único.  \n- `nome (String)`: Nome da categoria.  \n- `descricao (String)`: Descrição detalhada da categoria.  \n- `produtos (List\u003cProduto\u003e)`: Lista de produtos na categoria.  \n\n**Relacionamento**:  \n- Uma categoria pode ter vários produtos.  \n\n---\n\n## 🌟 Funcionalidades  \n\n### 🔑 CRUD de Usuários\n- **Criar**: Cadastro de novos usuários.  \n- **Ler**: Recuperar informações de usuários por ID ou listar todos.  \n- **Atualizar**: Alterar dados de um usuário existente.  \n- **Excluir**: Remover um usuário do sistema.  \n\n### 🛒 CRUD de Produtos\n- **Criar**: Adicionar novos produtos ao catálogo.  \n- **Ler**: Recuperar informações de produtos por ID ou listar todos.  \n- **Atualizar**: Alterar informações de um produto existente.  \n- **Excluir**: Remover um produto do catálogo.  \n\n### 🗂️ CRUD de Categorias\n- **Criar**: Adicionar novas categorias ao sistema.  \n- **Ler**: Recuperar informações de categorias por ID ou listar todas.  \n- **Atualizar**: Alterar informações de uma categoria existente.  \n- **Excluir**: Remover uma categoria do sistema.  \n\n### 🥗 Recomendação de Produtos Saudáveis\n- **Listar Produtos Saudáveis**: Endpoint que retorna todos os produtos pertencentes a categorias marcadas como \"saudáveis\".  \n\n---\n\n## 🔗 Estrutura dos Endpoints  \n\n### **Usuário**\n| Método HTTP | Endpoint          | Descrição                      |\n|-------------|-------------------|--------------------------------|\n| POST        | `/usuarios`       | Cadastrar novo usuário         |\n| GET         | `/usuarios`       | Listar todos os usuários       |\n| GET         | `/usuarios/{id}`  | Buscar usuário por ID          |\n| PUT         | `/usuarios`       | Atualizar usuário por ID       |\n| DELETE      | `/usuarios/{id}`  | Remover usuário por ID         |\n\n### **Produto**\n| Método HTTP | Endpoint          | Descrição                      |\n|-------------|-------------------|--------------------------------|\n| POST        | `/produtos`       | Adicionar novo produto         |\n| GET         | `/produtos`       | Listar todos os produtos       |\n| GET         | `/produtos/{id}`  | Buscar produto por ID          |\n| PUT         | `/produtos`       | Atualizar produto por ID       |\n| DELETE      | `/produtos/{id}`  | Remover produto por ID         |\n\n### **Categoria**\n| Método HTTP | Endpoint          | Descrição                      |\n|-------------|-------------------|--------------------------------|\n| POST        | `/categorias`     | Adicionar nova categoria       |\n| GET         | `/categorias`     | Listar todas as categorias     |\n| GET         | `/categorias/{id}`| Buscar categoria por ID        |\n| PUT         | `/categorias`     | Atualizar categoria por ID     |\n| DELETE      | `/categorias/{id}`| Remover categoria por ID       |\n\n### **Recomendação**\n| Método HTTP | Endpoint                | Descrição                      |\n|-------------|-------------------------|--------------------------------|\n| GET         | `/produtos/saudaveis`   | Listar produtos saudáveis      |\n\n---\n\n## 🚀 Como Executar o Projeto  \n\n1. **Clone o repositório**:  \n   ```bash\n   git clone \u003cURL_DO_REPOSITORIO\u003e\n   cd \u003cNOME_DO_PROJETO\u003e\n---\n\n## 👨‍💻 Contribuidores e suas contribuições\n\n\n**[Ivan](https://github.com/IJNavi)** 🎯  \n- Atuou como **PO**, ajudando a desenvolver o backlog junto à equipe.  \n- Realizou as tasks relacionadas a **delete**.\n\n**[Matheus](https://github.com/MatheusSPQ)** 🛠️  \n- Criou a base do projeto e configurou o **GitHub** (criação de issues, mesclagem de branchs, e documentação).  \n- Corrigiu bugs e propôs padrões a serem seguidos para mesclagem e pull requests.  \n- Atuou como um **Scrum Master**, auxiliando nas tasks e no gerenciamento do **kanban**.  \n- Realizou as tasks relacionadas a **update**.\n\n**[Lucas](https://github.com/Lucassai)** 🔧  \n- Testou, corrigiu e atualizou problemas na **dev**, garantindo a qualidade do código e o funcionamento correto.  \n- Realizou as tasks relacionadas a **post**.\n\n**[Nina](https://github.com/Ninaraquel)** 🌱  \n- Abraçou o desafio de criar funções adicionais de busca por **produtos saudáveis**.  \n- Propôs ideias para novas **features** relacionadas à recomendação.\n\n**[Jaqueline](https://github.com/Jaquelinevalle)** 📄  \n- Realizou as tasks relacionadas a **get**.  \n- Revisou e garantiu que as **regras de negócios** foram de fato implementadas.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrupo2generation77%2Fdelivery-generation-gp2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrupo2generation77%2Fdelivery-generation-gp2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrupo2generation77%2Fdelivery-generation-gp2/lists"}