{"id":24740996,"url":"https://github.com/danielalves96/i-pet","last_synced_at":"2026-04-06T02:33:02.657Z","repository":{"id":54199469,"uuid":"308653772","full_name":"danielalves96/I-Pet","owner":"danielalves96","description":"🐶 I-PET é um projeto desenvolvido utilizando as tecnologias TypeScript, Node, React e React Native.","archived":false,"fork":false,"pushed_at":"2022-01-12T15:07:37.000Z","size":18601,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-31T12:39:33.424Z","etag":null,"topics":["axios","express","knexjs","leaf","leaflet","multer","nodejs","postgresql","react","reactjs","typescript"],"latest_commit_sha":null,"homepage":"https://i-pet.netlify.app/","language":"TypeScript","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/danielalves96.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":"2020-10-30T14:26:12.000Z","updated_at":"2022-03-04T12:11:57.000Z","dependencies_parsed_at":"2022-08-13T09:01:00.226Z","dependency_job_id":null,"html_url":"https://github.com/danielalves96/I-Pet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danielalves96/I-Pet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielalves96%2FI-Pet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielalves96%2FI-Pet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielalves96%2FI-Pet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielalves96%2FI-Pet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielalves96","download_url":"https://codeload.github.com/danielalves96/I-Pet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielalves96%2FI-Pet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31457684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["axios","express","knexjs","leaf","leaflet","multer","nodejs","postgresql","react","reactjs","typescript"],"created_at":"2025-01-27T23:48:42.277Z","updated_at":"2026-04-06T02:33:02.641Z","avatar_url":"https://github.com/danielalves96.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# I-Pet\n\n\u003ch3 align=\"center\"\u003e\n:dog: I-PET é um projeto desenvolvido utilizando as tecnologias TypeScript, Node, React e React Native.\n\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch4\u003eSenha teste no link https://i-pet.netlify.app/ : ipet01122017 \u003c/h4\u003e\n\n\n\n![BADGE_NODE_VERSION] ![BADGE_NPM_VERSION] ![BADGE_WEB_REACT] ![BADGE_MOBILE_REACT_NATIVE] ![BADGE_SERVER_NODEJS] \n\n\u003c/div\u003e\n\u003cbr/\u003e\n\n![Banner](https://github.com/danielalves96/Images/blob/master/Projetos/IPET/123.png?raw=true)\n\n\n## **:rocket: OBJETIVO**\n\nO projeto tem como finalidade **estabelecer uma conexão** entre **empresas e/ou entidades que prestão serviços para pets** (de todo o Brasil) **às pessoas e/ou entidades que necessitam constantemente desses serviços**. Solucionando um grande problema recorrente que é o **O alto tempo de procura em diversas platarformas de pesquisa não especificas**, facilitando o processo.\n\n## **:computer: TECNOLOGIAS**\n\n\n#### **Website** ([React][react] + [TypeScript][typescript])\n\n  - **[React Router Dom][react_router_dom]**\n  - **[React Icons][react_icons]**\n  - **[Axios][axios]**\n  - **[Leaflet][leaflet]**\n  - **[React Leaflet][react_leaflet]**\n  - **[React Dropzone][react_dropzone]**\n\n\n  \\* Veja o arquivo \u003ckbd\u003e[package.json](./web/package.json)\u003c/kbd\u003e\n\n#### **Server** ([NodeJS][node] + [TypeScript][typescript])\n\n  - **[Express][express]**\n  - **[CORS][cors]**\n  - **[KnexJS][knex]**\n  - **[PostgreSQOL][PostgreSQL]**\n  - **[ts-node][tsnode]**\n  - **[dotENV][dotenv]**\n  - **[Multer][multer]**\n\n  \\* Veja o arquivo \u003ckbd\u003e[package.json](./server/package.json)\u003c/kbd\u003e\n\n#### **Mobile** ([React Native][react_native] + [TypeScript][typescript])\n\n  - **[Expo][expo]**\n  - **[Expo Google Fonts][expo_google_fonts]**\n  - **[React Navigation][react_navigation]**\n  - **[React Native Maps][react_native_maps]**\n  - **[Expo Constants][expo_constants]**\n  - **[React Native SVG][react_native_svg]**\n  - **[Axios][axios]**\n  - **[Expo Location][expo_location]**\n  - **[Expo Mail Composer][expo_mail_composer]**\n\n  \\* Veja o arquivo \u003ckbd\u003e[package.json](./mobile/package.json)\u003c/kbd\u003e\n\n#### **Utilitários**\n\n- Protótipo: **[Figma](https://www.figma.com/)**\n- API: **[IBGE API][ibge_api]** \u0026rarr; **\u003ckbd\u003e[API de UFs][ibge_api_ufs]\u003c/kbd\u003e**, **\u003ckbd\u003e[API de Municípios][ibge_api_municipios]\u003c/kbd\u003e** \n- Maps: **[Leaflet][leaflet]**\n- Editor: **[Visual Studio Code][vscode]**\n- Teste de API: **[Insomnia][insomnia]**\n- Ícones: **[Feather Icons][feather_icons]**, **[Font Awesome][font_awesome]**\n- Fontes: **[Ubuntu][font_ubuntu]**, **[Roboto][font_roboto]**\n\n\n## **:wine_glass: COMO UTILIZAR**\n\n### Configurações Iniciais\n\nPrimeiro, você precisa ter o \u003ckbd\u003e[NodeJS](https://nodejs.org/en/download/)\u003c/kbd\u003e instalado na sua máquina. \n\nSe você estiver utilizando o **Linux**, você pode optar por instalar o **Node** através do gerênciador de versões \u003ckbd\u003e[asdf]\u003c/kbd\u003e para facilitar o processo de mudança da versão do **Node**, quando for necessário.\n\nVocê pode optar também por utilizar o **yarn** no lugar do **npm**. Você pode instalar clicando nesse \u003ckbd\u003e[link][yarn]\u003c/kbd\u003e, ou através do \u003ckbd\u003e[asdf]\u003c/kbd\u003e.\n\nApós ter o **Node** instalado, instale as dependências do **React e React Native (Expo)** de forma global, utilizando os comandos:\n\n```sh\n# React:\n$ npm install create-react-app -g\n\n# Expo (React Native):\n$ npm install -g expo-cli \n```\n\nVocê precisa renomear o arquivo `.env-example` para `.env` e inserir as informações que condizem com o seu **host**:\n\n```sh\n$ mv .env-example .env\n```\n\nInstale as dependências contidas nos arquivos `package.json` que se encontram na raíz do repositório (para o gerenciamento de commits), no diretório do **server**, no diretório do **website** e no diretório **mobile**. Para instalar as dependências, basta abrir o terminal no diretório e digitar o comando:\n\n```sh\n$ npm install\n\n# ou\n$ yarn\n```\n\nExemplos:\n```sh\n# Instalando as dependências do server:\n$ cd ./server\n$ npm install\n\n# Instalando as dependências do website:\n$ cd ./website\n$ npm install\n\n# Instalando as dependências do mobile:\n$ cd ./mobile\n$ npm install\n```\n\nVeja os arquivos **`package.json`** do \u003ckbd\u003e[server](./server/package.json)\u003c/kbd\u003e, \u003ckbd\u003e[website](./web/package.json)\u003c/kbd\u003e e \u003ckbd\u003e[mobile](./mobile/package.json)\u003c/kbd\u003e.\n\n### Utilizando o Server\n\n```sh\n**DUPLIQUE O ARQUIVO .env.example PARA UM ARQUIVO .env \nE PREECHA AS CREDENCIAIS CONFORME AS SUAS DE BANCO DE DADOS E AWS SERVER**\n\n# Abrindo o terminal no diretório do servidor:\n$ cd ./server\n\n# Executando a aplicação em modo de desenvolvimento:\n$ npm run dev\n\n# Instanciando o banco de dados:\n$ npm run migrations\n\n# Povoando o banco de dados (seeds):\n$ npm run seeds\n```\n\n\u003e Veja a parte de **scripts {}** do arquivo \u003ckbd\u003e[package.json](./server/package.json)\u003c/kbd\u003e para saber quais scripts estão disponíveis.\n\n### Utilizando o Website\n\n```sh\n# Abrindo o terminal no diretório do website:\n$ cd ./web\n\n# Executando o website no modo de desenvolvimento:\n$ npm run start\n```\n\n\u003e Se o browser não abrir automaticamente, acesse: http://localhost:3000.\n\n### Utilizando o Mobile\n\nInstale o aplicativo \u003ckbd\u003e[Expo](https://play.google.com/store/apps/details?id=host.exp.exponent\u0026hl=en)\u003c/kbd\u003e no seu smartphone.\n\n```sh\n# Abrindo o terminal no diretório do mobile:\n$ cd ./mobile\n\n# Executando o mobile no modo de desenvolvimento:\n$ npm run start\n```\n\nAgora, abra o aplicativo do expo e no modo **LAN** faça o scan do QRCode.\n\n\u003e Se tiver algum problema para executar o aplicativo nesse modo, tente desabilitar o firewall da sua máquina.\n\nSe tiver algum problema com as fontes, utilize o comando:\n```sh\n$ expo install expo-font @expo-google-fonts/ubuntu @expo-google-fonts/roboto\n```\n\n**\\* Lembre de inserir no arquivo `.env` o IP exato que foi gerado pelo seu mobile após utilizar o comando `npm run start`.**\n\n## **:octocat: COMO CONTRIBUIR**\n  \n  - Verifique as **[Issues](https://github.com/x0n4d0/ecoleta/projects/1)** que estão abertas e se já não existe alguma com a sua feature;\n  - Abra uma **Issue** com o nome e descrição da sua feature e assine com o seu usuário informando que irá fazê-la;\n  - Faça um **[fork](https://help.github.com/pt/github/getting-started-with-github/fork-a-repo)** do repositório;\n  - Entre no sua página do GitHub e faça um **clone** do seu **fork**;\n  - Crie uma *branch* com o nome da sua feature: `git chechout -b feat/minhaFeature`;\n  - Faça as alterações necessárias no código ou na documentação;\n  - Instale as dependências do *commitlint* na raíz do projeto para a verificação dos commits: `npm install` ou `yarn`;\n  - Faça o *commit* das suas alterações seguindo as [convenções de commit](https://www.conventionalcommits.org/pt-br/v1.0.0-beta.4/), adicione na descrição o id da sua Issue em parênteses e lembre de fechar a sua Issue com o id no rodapé do commit:\n\n  ```\n    \u003ctipo\u003e(escopo opcional): \u003cdescrição\u003e (#x)\n\n    [corpo do commit]\n\n    Close #x\n  ```\n  Exemplo:\n  ```sh\n    feat: adicionado componente para tal coisa (#52)\n\n    Foi adicionado um componente para tal coisa com o objetivo de melhorar tal coisa, deixando o projeto de tal maneira.\n\n    Close #52\n  ```\n  - Faça um *push* para a sua *branch*: `git push origin feat/minhaFeature`;\n  - Agora é só abrir um *pull request* no repositório que você fez o *fork* e assim que acontecer o *merge* sua Issue será fechada e suas alterações irão fazer parte do projeto;\n  - Depois que o *merge* da sua pull request for feito, você pode deletar a sua *branch*.\n\n  \\* **Obrigado por contribuir!** ❤️ :facepunch: :blush:\n\n## **:books: REFERÊNCIAS**\n\n- [React + TypeScript Cheat Sheet](https://github.com/typescript-cheatsheets/react-typescript-cheatsheet)\n- [Blog Rocketseat](https://blog.rocketseat.com.br/)\n- [ReactJS](https://reactjs.org/docs/getting-started.html) | [ReactJS pt-BR](https://pt-br.reactjs.org/docs/getting-started.html)\n- [TypeScript](https://www.typescriptlang.org/docs/home.html)\n- [React Native](https://reactnative.dev/docs/getting-started)\n- [Expo](https://expo.io/learn)\n- [Knex][knex]\n- [Express](https://expressjs.com/pt-br/)\n- [Node](https://nodejs.org/en/)\n\n## **:page_with_curl: LICENÇA**\n\nEsse repositório está licenciado pela **MIT LICENSE**. Para mais informações detalhadas, leia o arquivo [LICENSE](./LICENSE) contido nesse repositório. \n\n\u003ch3 align=\"center\"\u003e\nFeito com ❤️ por Daniel Luiz Alves\n\u003cbr\u003e\u003cbr\u003e\n\u003c/h3\u003e\n\n\u003c!-- Badges --\u003e\n\n\n[BADGE_NODE_VERSION]: https://img.shields.io/badge/node-12.17.0-green\n\n[BADGE_NPM_VERSION]: https://img.shields.io/badge/npm-6.14.4-red\n\n[BADGE_WEB_REACT]: https://img.shields.io/badge/web-react-blue\n\n[BADGE_MOBILE_REACT_NATIVE]: https://img.shields.io/badge/mobile-react%20native-blueviolet\n\n[BADGE_SERVER_NODEJS]: https://img.shields.io/badge/server-nodejs-important\n\n\n[BADGE_TYPESCRIPT]: https://badges.frapsoft.com/typescript/code/typescript.png?v=101\n\n\n\u003c!-- Techs --\u003e\n\n[react]: https://reactjs.org/\n\n[typescript]: https://www.typescriptlang.org/\n\n[node]: https://nodejs.org/en/\n\n[leaflet]: https://react-leaflet.js.org/en/\n\n[ibge_api]: https://servicodados.ibge.gov.br/api/docs/localidades?versao=1\n\n[ibge_api_ufs]: https://servicodados.ibge.gov.br/api/docs/localidades?versao=1#api-UFs-estadosGet\n\n[ibge_api_municipios]: https://servicodados.ibge.gov.br/api/docs/localidades?versao=1#api-Municipios-estadosUFMunicipiosGet\n\n[vscode]: https://code.visualstudio.com/\n\n[react_native]: http://www.reactnative.com/\n\n[stackedit]: https://stackedit.io\n\n[vscode_sqlite_extension]: https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite\n\n[markdown_emoji]: https://gist.github.com/rxaviers/7360908\n\n[commitlint]: https://github.com/conventional-changelog/commitlint\n\n[express]: https://expressjs.com/\n\n[cors]: https://expressjs.com/en/resources/middleware/cors.html\n\n[knex]: http://knexjs.org/\n\n[PostgreSQl]: https://www.postgresql.org/\n\n[tsnode]: https://github.com/TypeStrong/ts-node\n\n[feather_icons]: https://feathericons.com/\n\n[insomnia]: https://insomnia.rest/\n\n[react_leaflet]: https://react-leaflet.js.org/\n\n[react_router_dom]: https://github.com/ReactTraining/react-router/tree/master/packages/react-router-dom\n\n[react_icons]: https://react-icons.github.io/react-icons/\n\n[axios]: https://github.com/axios/axios\n\n[dotenv]: https://github.com/motdotla/dotenv\n\n[expo]: https://expo.io/\n\n[expo_google_fonts]: https://github.com/expo/google-fonts\n\n[react_navigation]: https://reactnavigation.org/\n\n[react_native_maps]: https://github.com/react-native-community/react-native-maps\n\n[expo_constants]: https://docs.expo.io/versions/latest/sdk/constants/\n\n[react_native_svg]: https://github.com/react-native-community/react-native-svg\n\n[expo_location]: https://docs.expo.io/versions/latest/sdk/location/\n\n[expo_mail_composer]: https://docs.expo.io/versions/latest/sdk/mail-composer/\n\n[font_roboto]: https://fonts.google.com/specimen/Roboto\n\n[font_ubuntu]: https://fonts.google.com/specimen/Ubuntu\n\n[font_awesome]: https://fontawesome.com/\n\n[multer]: https://github.com/expressjs/multer\n\n[celebrate]: https://github.com/arb/celebrate\n\n[joi]: https://github.com/hapijs/joi\n\n[react_dropzone]: https://github.com/react-dropzone/react-dropzone\n\n[asdf]: https://github.com/asdf-vm/asdf\n\n[yarn]: https://classic.yarnpkg.com/en/docs/install/#debian-stable\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielalves96%2Fi-pet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielalves96%2Fi-pet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielalves96%2Fi-pet/lists"}