{"id":15159497,"url":"https://github.com/duducmt/react-native-ca-post-app","last_synced_at":"2026-01-21T14:08:45.759Z","repository":{"id":255836519,"uuid":"853614917","full_name":"duduCMT/React-Native-CA-Post-App","owner":"duduCMT","description":"Projeto de interface gráfica para rede social usando Expo com Tab Navigation personalizado e Clean Architecture no React Native","archived":false,"fork":false,"pushed_at":"2024-09-10T02:07:37.000Z","size":916,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T16:52:17.354Z","etag":null,"topics":["clean-architecture","custom-tabbar","expo","react-native"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/duduCMT.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}},"created_at":"2024-09-07T03:30:58.000Z","updated_at":"2024-09-10T02:07:40.000Z","dependencies_parsed_at":"2024-09-07T11:40:09.780Z","dependency_job_id":"bea003f5-3521-4c9f-8673-fba79295fadd","html_url":"https://github.com/duduCMT/React-Native-CA-Post-App","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"d9d8a0afd9fdb4a4f6aa89b67ce8ae0661335d04"},"previous_names":["duducmt/react-native-ca-post-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duduCMT%2FReact-Native-CA-Post-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duduCMT%2FReact-Native-CA-Post-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duduCMT%2FReact-Native-CA-Post-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duduCMT%2FReact-Native-CA-Post-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/duduCMT","download_url":"https://codeload.github.com/duduCMT/React-Native-CA-Post-App/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694893,"owners_count":20980731,"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":["clean-architecture","custom-tabbar","expo","react-native"],"created_at":"2024-09-26T21:23:05.367Z","updated_at":"2026-01-21T14:08:45.731Z","avatar_url":"https://github.com/duduCMT.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](.github/assets/images/logo.png)\n\n# Post App (Clean Architecture) - React Native\n[![](https://img.shields.io/badge/Status-Em%20Desenvolvimento-red)](#) \n[![](https://img.shields.io/badge/Version-1.0.0-yellow)](#)\n\n\u003c!-- ## 📸 Preview \n\n\u003cdiv align=\"center\"\u003e\n  \u003cdiv style=\"display: flex; justify-content: center;\"\u003e\n    \u003cimg src=\".github/assets/images/preview01.gif\" style=\"height: 450px;\"\u003e\n  \u003c/div\u003e\n\u003c/div\u003e --\u003e\n\n## 📝 Descrição\n\nProjeto de interface gráfica para uma rede social usando Expo com Tab Navigation personalizado e Clean Architecture.\n\n## 🚀 Objetivo\n\nProjeto para prática e aprendizado das libs do Expo mais recentes (2023 e 2024), customização do Layout padrão da Tab Bar do Expo Router e principalmente explorar padrões de projeto com Clean Architecture (Arquitetura limpa) no React Native / EXPO.\n\n## 📚 Principais Libs Utilizadas\n\n- [Expo Router](https://docs.expo.dev/router/introduction/)\n- [Expo Linear Gradient](https://docs.expo.dev/versions/latest/sdk/linear-gradient/)\n- [React Native Testing Library](https://testing-library.com/docs/react-native-testing-library/intro/)\n- [Json Server](https://www.npmjs.com/package/json-server)\n\n## 🔎 Instruções para rodar o projeto\n\n📌 **Pré requisitos:**\n1. Tenha o repositório clonado em sua máquina.\n2. Tenha o [NodeJS](https://nodejs.org/) instalado em sua máquina.\n3. É importante configurar o seu próprio `.env` e `.env.local` baseando-se no `.env.exemple` presente no projeto (Caso tenha).\n\n\n🌐 **Como executar a API:**\n\nAntes de executar o app, é importante configurar o [json-server](https://www.npmjs.com/package/json-server) do projeto para rodar na sua máquina. Isso será necessário já que endereço de localhost não é compatível entre o emulador e a máquina que está executando.\n\n\n1. Para descobrir um **ip** válido na sua máquina, no windows, execute o comando:\n```\n$ ipconfig\n```\n2. O Windows irá exibir uma lista de ip's válidos na sua máquina. Você deve copiar o Endereço ``IPv4``. \n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg \n    src=\"./.github/assets/images/ref01.png\" alt=\"Exemplo de IPv4\" \n  /\u003e\n\u003c/div\u003e\n\n3. Crie o arquivo config.json na pasta server: \n``./server/config.json``. ([Link](https://github.com/duduCMT/React-Native-Marvel/blob/master/server))\n\n4. No arquivo, coloque o seguinte conteúdo:\n```json\n{\n  \"host\": \"\",\n  \"port\": 3333,\n  \"routes\": \"./server/routes.json\"\n}\n``` \n\n5. No valor de `host` do json coloque o ip copiado anteriormente e salve o arquivo.\n   \n6. Por fim, devemos informar ao App o novo endereço do servidor.\n   \n7. Crie o arquivo ``.env`` na raiz do projeto e adicione a variável `EXPO_PUBLIC_API_URL` conforme o .env.exemple. Obs: É importante ser nesse padrão: ``http://SEU_IP_LOCAL:3333``, por exemplo:: `http://0.0.0.0:3333`.\n\n8. Para executar o servidor da API use o comando ``npm run server``.\n\n\n\n🚩 **Como executar o App:**\n\n1. Com o terminal aberto no diretório do projeto, execute o comando `npm i --force` para instalar as dependências.\n   \n2. Após a instalação, você deve rodar o projeto localmente usando o comando `npm start` e escolher as opções para execução a depender do ambiente. (Esse projeto também é compatível com o Expo Go.)\n   \n3. Caso queira executar o expo e limpar o cache, use `expo start -c` para executar e limpar o cache.\n\n## 🗑️ Limpar Chache do EXPO - Windows\n\nEm algumas situações, vai ser necessário limpar o cache do EXPO, para isso, execute os seguintes passos ou confira a [documentação oficial](https://docs.expo.dev/troubleshooting/clear-cache-windows/):\n\n```bash\nrm -rf node_modules // Ou apague a pasta manualmente\n\nnpm cache clean --force\n\nnpm install\n\nwatchman watch-del-all\n\ndel %localappdata%Temphaste-map-*\n\ndel %localappdata%Tempmetro-cache\n\nnpx expo start --clear\n```\n\u003c!-- \n## 📸 Preview das Telas\n\n\u003cdiv align=\"center\"\u003e\n  \u003cdiv style=\"display: flex; justify-content: center; flex-wrap: wrap; gap: 8px;\"\u003e\n    \u003cimg src=\".github/assets/images/preview01.png\" style=\"height: 420px;\"\u003e\n    \u003cimg src=\".github/assets/images/preview02.png\" style=\"height: 420px;\"\u003e\n  \u003c/div\u003e\n\u003c/div\u003e --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduducmt%2Freact-native-ca-post-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduducmt%2Freact-native-ca-post-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduducmt%2Freact-native-ca-post-app/lists"}