{"id":15069034,"url":"https://github.com/temgi/apilogistica","last_synced_at":"2026-01-02T17:34:34.774Z","repository":{"id":185354330,"uuid":"673408102","full_name":"Temgi/APILogistica","owner":"Temgi","description":"A API Foi Desenvolvida para o Controle do Fluxo de Entrega de Mercadorias para Clientes, empregando Recurso como Versionamento Database, Collection Resources, Validação, Exception Handler, Padrão ISO-8601 para Data e Hora, Validation Group, Domain Services, Padrão DTO, Validação em Cascata, Sub-Recursos de API, Ação Não-CRUD(Processos de Negócios)","archived":false,"fork":false,"pushed_at":"2023-08-02T20:00:52.000Z","size":769,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-18T18:45:04.579Z","etag":null,"topics":["apache-tomcat","bean-validation","flyway","hibernate-jpa","jackson","java-11","lombok","maven","model-mapper","mysql-database","postman","spring-boot","spring-data-jpa","springframework"],"latest_commit_sha":null,"homepage":"http://app-java.ddns.net:8082/clientes","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/Temgi.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":"2023-08-01T14:55:04.000Z","updated_at":"2023-08-01T16:32:56.000Z","dependencies_parsed_at":"2025-01-22T19:55:40.828Z","dependency_job_id":null,"html_url":"https://github.com/Temgi/APILogistica","commit_stats":null,"previous_names":["temgi/apilog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FAPILogistica","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FAPILogistica/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FAPILogistica/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Temgi%2FAPILogistica/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Temgi","download_url":"https://codeload.github.com/Temgi/APILogistica/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243838110,"owners_count":20355983,"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":["apache-tomcat","bean-validation","flyway","hibernate-jpa","jackson","java-11","lombok","maven","model-mapper","mysql-database","postman","spring-boot","spring-data-jpa","springframework"],"created_at":"2024-09-25T01:40:10.142Z","updated_at":"2026-01-02T17:34:34.742Z","avatar_url":"https://github.com/Temgi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv\u003e\n    \u003ch1 align=\"center\"\u003eAPI-REST para Logística\u003c/h1\u003e\n    \u003ch6 align=\"center\"\u003eEnd-Point para Controle de Entregas\u003c/h6\u003e\n\u003c/div\u003e\n\u003cbr\u003e\u003cbr\u003e\n\n[![NPM](https://img.shields.io/npm/l/react)](https://github.com/Temgi/APILog/blob/main/LICENSE) \n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/STATUS-completo-blue?style=for-the-badge\"\u003e\n\u003c/p\u003e\n\n## 🧠 Sobre o Projeto\n\u003cp\u003eA Aplicação é uma API-REST criada com SpringBoot sem Front-End, Oriunda da Semana do Mergulho Spring REST(MSR), evento organizado pela Algaworks. Essa API Foi Desenvolvida para o Controle de Entrega de Mercadorias em Logísticas, utilizando Recursos como Versionamento de Database, Collection Resources, Validação, Tratamento de Exceções, Padrão ISO-8601 para Data e Hora, Validation Group, Camada Domain Services, Padrão DTO, Validação em Cascata, Separação entre as Camadas de Domain Model e Representation Model, Sub-Recursos de API, Ação Não-CRUD(Processos de Negócios).\nSendo Formada de End-Points envolvendo o Processo de Pedidos, tendo como Base as Entidades Entrega, Cliente, Destinatário, Ocorrência e Status.\u003c/p\u003e \n\n\u003ca href=\"http://app-java.ddns.net:8082/clientes\" target=\"_blank\" rel=\"noopener\"\u003eLink do Projeto para Acesso Online\u003c/a\u003e\n\n## 📗 Sumário\n\n* [End-Point para Listagem](#-end-point-clientes-para-listagem)\n* [End-Point para Cadastro](#-end-point-clientes-para-cadastro)\n* [Organização de Pacotes](#-organização-de-pacotes)\n* [Features](#%EF%B8%8F-features)\n* [End-Point para Atualização](#-end-point-clientes-para-atualização)\n* [End-Point para Exclusão](#%EF%B8%8F-end-point-clientes-para-exclusão)\n* [Estrutura de Classes](#-estrutura-de-classes)\n* [Tecnologias Utilizadas](#-tecnologias-utilizadas)\n* [Modelo Entidade Relacionamento](#-modelo-entidade-relacionamento)\n* [Como Executar o Projeto](#-como-executar-o-projeto)\n* [Autor](#-autor)\n\n## 💻 End-Point /Clientes para Listagem\n\u003cbr\u003e\n\n![End-Point Listagem](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/API-EndPoint1.png)\n\n## 🎨 End-Point /Clientes para Cadastro\n\u003cbr\u003e\n\n![End-Point Cadastro](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/API-EndPoint3.png)\n\n## 👓 Organização de Pacotes\n\u003cbr\u003e\n\n![Pacotes do Projeto](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/PacotesProjeto.png)\n\n## ⚙️ Features\n\n- [x] Collection Resources\n- [x] End-Point(CRUD) para /Clientes\n- [x] Representação em JSON e XML\n- [x] Versionamento de Database(Migration)\n- [x] Validação de Dados\n- [x] Exception Handler Customizado\n- [x] Camada de Domain Services\n- [x] End-Point(CRUD) para /Entregas\n- [x] Validação em Cascata\n- [x] Validation Group\n- [x] Padrão ISO-8601 para Data e Hora\n- [x] Separação entre Domain Model e Representation Model\n- [x] Padrão DTO com Model Mapper\n- [x] Emgrego de Sub-Recursos de API\n- [x] Implementação de Ação Não-CRUD(Processos de Negócios)\n\n## 💡 End-Point /Clientes para Atualização\n\u003cbr\u003e\n\n![End-Point Atualização](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/API-EndPoint4.png)\n\n## 🛰️ End-Point /Clientes para Exclusão\n\u003cbr\u003e\n\n![End-Point Exclusão](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/API-EndPoint5.png)\n\n## 🎯 Estrutura de Classes\n\u003cbr\u003e\n\n![Estrutura de Classes](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/EstruturaClasses.png)\n\n## 🚀 Tecnologias Utilizadas:\n### Back-End\n\u003cul\u003e\n        \u003cli\u003e Java 11\u003c/li\u003e\n        \u003cli\u003e Spring Framework\u003c/li\u003e\n        \u003cli\u003e Spring Boot\u003c/li\u003e\n        \u003cli\u003e Spring Data JPA\u003c/li\u003e\n        \u003cli\u003e Jackson JSON\u003c/li\u003e\n        \u003cli\u003e Postman\u003c/li\u003e\n        \u003cli\u003e Lombok\u003c/li\u003e\n        \u003cli\u003e Maven\u003c/li\u003e\n        \u003cli\u003e Apache TomCat\u003c/li\u003e\n        \u003cli\u003e Flyway\u003c/li\u003e\n        \u003cli\u003e Model Mapper\u003c/li\u003e\n        \u003cli\u003e JPA-Hibernate\u003c/li\u003e\n        \u003cli\u003e Bean Validation\u003c/li\u003e\n        \u003cli\u003e MySQL\u003c/li\u003e\n\u003c/ul\u003e\n\n## 🔥 Modelo Entidade Relacionamento\n\u003cbr\u003e\n\n![MER](https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/MER.png)\n\n## 🏁 Como Executar o Projeto\n\n### Instalações\n1-Baixar e Instalar o Java-JDK no Link Abaixo:\n\u003cbr\u003e\nhttps://www.oracle.com/br/java/technologies/javase/javase8-archive-downloads.html\n\u003cbr\u003e\u003cbr\u003e\n2-Configurar Variáveis de Ambiente do Java-JDK Conforme Link Abaixo:\n\u003cbr\u003e\nhttps://www.alura.com.br/apostila-java-orientacao-objetos/apendice-instalacao-do-java\n\u003cbr\u003e\u003cbr\u003e\n3-Baixar e Instalar o MySQL Seguindo os Links Abaixo:\n\u003cbr\u003e\nhttps://dev.mysql.com/downloads/windows/installer/8.0.html\n\u003cbr\u003e\nhttps://www.alura.com.br/artigos/mysql-do-download-e-instalacao-ate-sua-primeira-tabela\n\u003cbr\u003e\u003cbr\u003e\n4-Baixar e Instalar o Postman Seguindo os Links Abaixo:\n\u003cbr\u003e\nhttps://www.postman.com/downloads/\n\u003cbr\u003e\nhttps://www.alura.com.br/artigos/postman-como-instalar-dar-seus-primeiros-passos\n\u003cbr\u003e\u003cbr\u003e\n\n### Configuração Banco de Dados\n1-Script SQL para Criação do Banco de Dados\n~~~sql\nCREATE SCHEMA `algalog`;\n~~~\n\u003cbr\u003e\n\n2-Script SQL para Popular Tabela CLIENTE\n~~~sql\nINSERT INTO cliente(nome, email, fone)\nVALUES('João da Silva', 'joaodasilva@email.com', '11-99955-3333');\n\nINSERT INTO cliente(nome, email, fone)\nVALUES('Maria Abadia', 'mariaabadia@email.com', '11-99888-4444');\n\n~~~\n\u003cbr\u003e\n\n### Execução e Deploy do Projeto\n\n\n#### Clonar Repositório\n- git clone https://github.com/Temgi/APILogistica.git\n\n#### Executar o Projeto\n- Baixar e Descompactar o Apache Maven apache-maven-3.8.4 no Unidade C:\\\n- Copiar o Endereço da Pasta [bin] no Caminho [C:\\apache-maven-3.8.4\\bin]\n- Configurar as Variáveis de Ambiente para o Apache Maven apache-maven-3.8.4:\n\n   Abra o Meu Computador no Windows(Win+E) / Botão Direito dentro de Meu Computador e Selecione [Propriedades] / Click\n   no lado Esquerdo em [Configurações Avançadas de Sistema]  / Na Aba [Avançado], clique na Parte Inferior em [Variáveis\n   de Ambiente]  / Em [Variáveis de Sistema] Click em [Novo] / No Campo [Nome da Variável] digite [MAVEN_HOME] / No\n   Campo [Valor da Variável] digite [C:\\apache-maven-3.8.4] e Click OK / Selecione na Lista o Item [PATH] e Click em\n   [Editar] / Click em [Novo] digite [%MAVEN_HOME%\\bin] / Click em OK - OK - OK. Abra o Executar no Windows com [Win+R]\n   digite [cmd], no Prompt de Comando digite o comando [mvn -version]\n\n- Acessar no Prompt de Comando o Caminho da Pasta [target] do Projeto [APILogistica]\n- No Prompt Executar o Comando [java -jar AppLogistica.jar]\n- Baixar o Collection Resources do Postman logo Abaixo:\u003cbr\u003e\n  https://github.com/Temgi/APILogistica/blob/main/algalog-api/assets/API%20-%20Externo(Nuvem).zip\n- Abrir o Postman e Importar a Collection conforme Link Abaixo:\u003cbr\u003e\n  https://learning.postman.com/docs/getting-started/importing-and-exporting-data/\n\n\n## 📝 **Autor**\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Temgi\"\u003e\u003cimg style=\"border-radius: 10%;\" src=\"https://avatars.githubusercontent.com/u/8334174?v=4\" width=\"80px;\" alt=\"Foto de Rui Temgi Saraiva Azevedo no GitHub\"/\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nRui Azevedo\n\u003cbr\u003e\nContatos:  \u003ca href=\"https://www.linkedin.com/in/devruiazevedo/\"\u003eLinkedIn\u003c/a\u003e - \u003ca href=\"https://wa.me/5511971973505?text=Olá.%20Estou%20Entrando%20em%20Contato%20a%20partir%20do%20Portfólio%20no%20GitHub.\"\u003eWhatsApp\u003c/a\u003e - \u003ca href=\"#\"\u003e ruisaraivasp@gmail.com\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemgi%2Fapilogistica","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftemgi%2Fapilogistica","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftemgi%2Fapilogistica/lists"}