{"id":25855579,"url":"https://github.com/mathrb22/dsdeliver-sds2","last_synced_at":"2025-03-01T17:19:14.161Z","repository":{"id":55078221,"uuid":"327356738","full_name":"mathrb22/DSDeliver-sds2","owner":"mathrb22","description":"Projeto desenvolvido durante a Semana DevSuperior 2.0. Aplicação que registra os pedidos realizados pelos clientes dos restaurantes e organiza as entregas para os endereços informados.","archived":false,"fork":false,"pushed_at":"2021-01-12T13:36:20.000Z","size":4639,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-05-23T02:36:28.049Z","etag":null,"topics":["api-rest","backend","devsuperior","frontend","heroku","java-8","mobile","mvc-architecture","netlify","postgresql","springboot","webapp"],"latest_commit_sha":null,"homepage":"https://mathrb22-sds2.netlify.app/","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/mathrb22.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}},"created_at":"2021-01-06T15:44:00.000Z","updated_at":"2023-04-20T19:21:18.000Z","dependencies_parsed_at":"2022-08-14T11:20:39.940Z","dependency_job_id":null,"html_url":"https://github.com/mathrb22/DSDeliver-sds2","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathrb22%2FDSDeliver-sds2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathrb22%2FDSDeliver-sds2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathrb22%2FDSDeliver-sds2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathrb22%2FDSDeliver-sds2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathrb22","download_url":"https://codeload.github.com/mathrb22/DSDeliver-sds2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241396969,"owners_count":19956450,"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-rest","backend","devsuperior","frontend","heroku","java-8","mobile","mvc-architecture","netlify","postgresql","springboot","webapp"],"created_at":"2025-03-01T17:19:13.506Z","updated_at":"2025-03-01T17:19:14.142Z","avatar_url":"https://github.com/mathrb22.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e\n   DSDeliver - Semana DevSuperior 2.0\n\u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n   \u003cimg alt=\"DSDeliver\" title=\"#DSDeliver\" src=\".github/img/DSDeliver.png\" width=\"75%\" /\u003e\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003e\n   \u003ca href=\"https://github.com/mathrb22\"\u003e\n      \u003cimg alt=\"Made by mathrb22\" src=\"https://img.shields.io/badge/made%20by-mathrb22-yellow\"\u003e\n   \u003c/a\u003e\n\n   \u003cimg alt=\"GitHub Repo Size\" src=\"https://img.shields.io/github/repo-size/mathrb22/DSDeliver-sds2\"\u003e\n\n   \u003cimg alt=\"GitHub Language Count\" src=\"https://img.shields.io/github/languages/count/mathrb22/DSDeliver-sds2\"\u003e\n\n   \u003ca href=\"https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#14.15.0\"\u003e\n      \u003cimg alt=\"Nodejs Version\" src=\"https://img.shields.io/badge/node.js-v14.15.0-informational?logo=Node.JS\"\u003e\n   \u003c/a\u003e\n\n   \u003ca aria-label=\"React Version\" href=\"https://github.com/facebook/react/blob/master/CHANGELOG.md#1701-october-22-2020\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/react-%5E17.0.1-informational?logo=react\"\u003e\u003c/img\u003e\n   \u003c/a\u003e\n\n   \u003ca href=\"https://github.com/mathrb22/DSDeliver-sds2/commits/main\"\u003e\n      \u003cimg alt=\"GitHub Last Commit\" src=\"https://img.shields.io/github/last-commit/mathrb22/DSDeliver-sds2\"\u003e\n   \u003c/a\u003e\n\n   \u003ca href=\"https://github.com/mathrb22/DSDeliver-sds2/issues\"\u003e\n      \u003cimg alt=\"GitHub Issues\" src=\"https://img.shields.io/github/issues/mathrb22/DSDeliver-sds2\"\u003e\n   \u003c/a\u003e\n\n   \u003ca href=\"https://github.com/mathrb22/DSDeliver-sds2/pulls\"\u003e\n      \u003cimg alt=\"Pull Requests Welcome\" src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\"\u003e\n   \u003c/a\u003e\n\n   \u003ca href=\"https://github.com/mathrb22/DSDeliver-sds2/blob/master/LICENSE\"\u003e\n      \u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/mathrb22/DSDeliver-sds2\"\u003e\n   \u003c/a\u003e\n   \u003c/br\u003e\n   \u003c/br\u003e\n\n   \u003ca href=\"#-tecnologias-utilizadas\"\u003e\n      \u003cimg alt=\"Java\" src=\"https://img.shields.io/badge/java-%23ED8B00.svg?\u0026style=for-the-badge\u0026logo=java\u0026logoColor=white\"\u003e\n      \u003cimg alt=\"Spring\" src=\"https://img.shields.io/badge/spring%20-%236DB33F.svg?\u0026style=for-the-badge\u0026logo=spring\u0026logoColor=white\"\u003e\n      \u003cimg alt=\"Postgres\" src=\"https://img.shields.io/badge/postgres-%23316192.svg?\u0026style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\"\u003e\n      \u003cimg alt=\"Heroku\" src=\"https://img.shields.io/badge/heroku%20-%23430098.svg?\u0026style=for-the-badge\u0026logo=heroku\u0026logoColor=white\"\u003e\n      \u003cimg alt=\"JavaScript\" src=\"https://img.shields.io/badge/javascript%20-%23323330.svg?\u0026style=for-the-badge\u0026logo=javascript\u0026logoColor=%23F7DF1E\"\u003e\n      \u003cimg alt=\"TypeScript\" src=\"https://img.shields.io/badge/typescript%20-%23007ACC.svg?\u0026style=for-the-badge\u0026logo=typescript\u0026logoColor=white\"\u003e\n      \u003cimg alt=\"React\" src=\"https://img.shields.io/badge/react%20-%2320232a.svg?\u0026style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB\"\u003e\n      \u003cimg alt=\"React Native\" src=\"https://img.shields.io/badge/react_native%20-%2320232a.svg?\u0026style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB\"\u003e\n   \u003c/a\u003e\n\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[**Sobre**](#-sobre) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Features**](#-features) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Netlify**](#-aplicação-web-no-netlify) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Tecnologias utilizadas**](#-tecnologias-utilizadas) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Layout**](#-layout) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Instalação e execução**](#-instalação-e-execução) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Como contribuir**](#-como-contribuir) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Contato**](#-contato) \u0026nbsp;\u0026nbsp;**|**\u0026nbsp;\u0026nbsp;\n[**Licença**](#-licença)\n\n\u003c/div\u003e\n\n## 📃 Sobre\n\n**DSDeliver** é o projeto desenvolvido durante a **Semana DevSuperior 2.0**, um evento online produzido pela [**DevSuperior**](https://github.com/devsuperior) com duração de uma semana, onde serão desenvolvidos o back-end, front-end web, e o aplicativo mobile.\n\nEsta é uma aplicação que registra os pedidos realizados pelos clientes dos restaurantes e organiza as entregas para os endereços informados.\n\n## ✨ Features\n\n✔ Listagem de produtos via API (backend), hospedada no Heroku\n\n✔ Seleção de items do pedido\n\n✔ Busca de endereços através de um mapa interativo e dinâmico\n\n✔ Validação e finalização de pedidos\n\n✔ Layout responsivo\n\n✔ Página de erro 404 personalizada para rotas inexistentes\n\n✔ Indicador de Loading durante o carregamento dos dados dos produtos pelo heroku \n\n- [ ] Acompanhamento de pedidos pendentes pelo app mobile (em desenvolvimento)\n- [ ] Criação de rotas de navegação GPS - app mobile (em desenvolvimento)\n- [ ] Confirmação das entregas - app mobile (em desenvolvimento)\n\n## 🌎 Aplicação Web no Netlify\n\nLink para acessar a aplicação hospedada no Netlify:\n\n**https://mathrb22-sds2.netlify.app/**\n\n\u003e Obs.: na primeira vez que é executada, é possível que levem alguns segundos para que os produtos sejam carregados, devido ao tempo de inatividade do servidor do Heroku.\n\n## 🚀 Tecnologias utilizadas\n\nEste projeto foi desenvolvido com as seguintes tecnologias:\n\n- [**JDK 11**](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html): Java Development Kit 11 - um kit de desenvolvimento para construção de aplicações e componentes usando a linguagem de programação Java;\n\n- [**STS (Spring Tool Suite)**](https://spring.io/tools): um ambiente de desenvolvimento baseado em Eclipse, personalizado para desenvolvimento de aplicações Spring;\n\n- [**Postman**](https://www.postman.com/): uma ferramenta que tem como objetivo testar serviços RESTful (Web APIs) por meio do envio de requisições HTTP e da análise do seu retorno;\n\n  \u003e A workspace do Postman com as requisições está disponível para download neste repositório. Baixe e importe o arquivo **`DSDeliver.postman_collection.json`** em seu Postman.\n\n- [**Postgresql 12**](https://www.postgresql.org/download/): um sistema gerenciador de banco de dados objeto relacional (SGBD), desenvolvido como projeto de código aberto;\n\n- [**pgAdmin**](https://www.pgadmin.org/): ferramenta para administração do Postgresql, permite fazer realizar as tarefas necessárias para administração do banco de dados;\n\n- [**Heroku CLI**](https://devcenter.heroku.com/articles/heroku-cli): interface de linha de comando do Heroku que facilita a criação e gerenciamento de seus apps no Heroku diretamente de um terminal;\n\n- [**Git**](https://git-scm.com/downloads): o sistema de controle de versão distribuído de código aberto mais utilizado;\n\n- [**Visual Studio Code**](https://code.visualstudio.com/): um editor de código-fonte desenvolvido pela Microsoft para Windows, Linux e macOS, recomendado para o desenvolvimento de aplicações web;\n\n- [**Node.js**](https://nodejs.org/en/): um interpretador de JavaScript assíncrono com código aberto orientado a eventos;\n\n- [**TypeScript**](https://www.typescriptlang.org/): um super conjunto da linguagem JavaScript que fornece classes, interfaces e tipagem estática opcional. Utilizado em conjunto com React no frontend web;\n\n- [**React**](https://reactjs.org): uma biblioteca JavaScript de código aberto com foco em criar interfaces de usuário (frontend) em páginas web. É mantido pelo Facebook, Instagram, outras empresas e uma comunidade de desenvolvedores individuais. É utilizado nos sites da Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart e outros;\n\n- [**React Native**](https://facebook.github.io/react-native/): uma biblioteca Javascript criada pelo Facebook. É usada para desenvolver aplicativos para os sistemas Android e IOS de forma nativa;\n\n## 📟 Layout\n\nO layout das telas da aplicação **DSDeliver** foi desenvolvido pela equipe da [**DevSuperior**](https://github.com/DevSuperior/) através da ferramenta online [**Figma**](https://www.figma.com), um software de prototipação voltado para **UI Design (design de interface)**.\nVocê pode acessar o layout através deste link: [**DSDeliver**](https://www.figma.com/file/LAIvIzyaJsSl2A9NMrnR7W/DSDeliver01).\n\n\u003cfigure\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/img/DSDeliver-Layouts.png\"  alt=\"Layouts\"\u003e\n  \u003cfigcaption\u003eLayout das telas da aplicação\u003c/figcaption\u003e\n\u003c/div\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/img/DSDeliver-Home.png\"  alt=\"Página inicial\"\u003e\n  \u003cfigcaption\u003ePágina inicial\u003c/figcaption\u003e\n\u003c/div\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/img/DSDeliver-Orders.png\"  alt=\"Página de pedidos\"\u003e\n  \u003cfigcaption\u003ePágina de pedidos\u003c/figcaption\u003e\n\u003c/div\u003e\n\u003c/figure\u003e\n\n\u003cfigure\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/img/DSDeliver-404.png\"  alt=\"Página de erro 404\"\u003e\n  \u003cfigcaption\u003ePágina de erro 404\u003c/figcaption\u003e\n\u003c/div\u003e\n\u003c/figure\u003e\n\n## 🔧 Instalação e execução\n\nPara baixar o código-fonte do projeto em sua máquina, primeiramente terá que ter instalado o [**Git**](https://git-scm.com/).\n\nCom o Git instalado, em seu terminal execute o seguinte comando:\n\n```bash\n$ git clone https://github.com/mathrb22/DSDeliver-sds2.git\n```\n\n### Backend\n\n- Com o projeto baixado, abra-o em sua IDE (Spring Tool Suite).\n- Como será executado localmente em sua máquina, abra o arquivo **`application.properties`** e altere o perfil ativo de **`prod`** para **`test`**:\n- Execute o arquivo **`DsdeliverApplication.java`**.\n- A aplicação Spring Boot será executada no endereço: _**`http://localhost:8080/`**_.\n\n---\n\n### Frontend web\n\nPara instalar e executar o frontend-web do DSDeliver, terá que ter instalado em sua máquina também o [**Node.js**](https://nodejs.org/en/).\n\n1. Vá até a pasta front-web do repositório:\n   ```bash\n   $ cd front-web\n   ```\n2. Instale as dependências do projeto:\n   ```bash\n   $ npm install\n   ```\n   Atenção, antes de executar a aplicação React:\n\n\u003e Para a busca de endereços no mapa, foi utilizado o [**Mapbox**](https://www.mapbox.com/), uma plataforma de mapeamento que permite que seus clientes criem soluções de mapeamento personalizadas.\n\n- Então, se deseja carregar os endereços no mapa, você precisará [**criar uma conta gratuita na plataforma**](https://account.mapbox.com/auth/signup/) e utilizar seu token pessoal de acesso à API.\n- Após a criação da sua conta, na página principal do MapBox, clique em “Account”. Em configurações, clique em **“API access tokens”** e depois em “Create a new token”;\n- Copie o token gerado, e dentro da pasta **`front-web`**, crie um arquivo com a extensão **`.env`**, onde serão definidas as variáveis de ambiente do projeto.\n- Adicione o seguinte conteúdo ao seu arquivo, substituindo **`token`** pelo seu token copiado:\n\n  ```\n  REACT_APP_ACCESS_TOKEN_MAP_BOX=token\n  REACT_APP_API_URL=http://localhost:8080\n  ```\n\n- Inicie a aplicação React:\n  ```bash\n  $ npm start\n  ```\n- Acesse a aplicação pelo endereço: _**`http://localhost:3000/`**_.\n\n---\n\n### Mobile\n\n🚧 Em desenvolvimento... 🚧\n\n## 💡 Como contribuir\n\n- Faça um **_fork_** desse repositório;\n- Crie um **branch** para a sua feature: `git checkout -b minha-feature`;\n- Faça um **commit** com suas alterações: `git commit -m 'feat: Minha nova feature'`;\n- Faça um **push** para o seu branch: `git push origin minha-feature`;\n- Faça um **pull request** com sua feature;\n\nPull requests são sempre bem-vindos. Em caso de dúvidas ou sugestões, crie uma _**issue**_ ou entre em contato comigo.\n\n## 📲 Contato\n\nEntre em contato comigo por e-mail ou pelo meu LinkedIn:\n\n\u003ca href=\"mailto:mathribe2020@gmail.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" alt=\"Gmail\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://www.linkedin.com/in/matheus-ribeiro-dev/\"\u003e\u003cimg src=\"https://img.shields.io/badge/linkedin%20-%230077B5.svg?\u0026style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn\"/\u003e\u003c/a\u003e\n\n## 📝 Licença\n\n\u003ca href=\"https://github.com/mathrb22/DSDeliver-sds2/blob/main/LICENSE\"\u003e\n    \u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/mathrb22/DSDeliver-sds2\"\u003e\n\u003c/a\u003e\n\nEsse projeto está sob a licença **MIT**. Veja o arquivo _**LICENSE**_ para mais detalhes.\n\n---\n\n\u003ch5 align=\"center\"\u003e\n  \u0026copy;2021 - \u003ca href=\"https://github.com/mathrb22/\"\u003eMatheus Ribeiro\u003c/a\u003e\n\u003c/h5\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathrb22%2Fdsdeliver-sds2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathrb22%2Fdsdeliver-sds2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathrb22%2Fdsdeliver-sds2/lists"}