Tecnologias | Projeto | Demo | Pré Requisitos | Instalação | Licença
Esse projeto foi desenvolvido com as seguintes tecnologias:
Be the Hero é um projeto que visa ajudar instituições sem fins lucrativos, o cadastro das instituições é feito na web, através do app as pessoas podem entrar em contato para fazerem doações e ajudar em determinada causa!
App mobile para acessar os casos e entrar em contato com as instituições.
- Ter o ambiente preparado com nodejs, node, npm, yarn.
- Git instalado para clonar o projeto.
- Instalar o expo na máquina e no dispositivo móvel.
Verificar se os requisitos estão instalados, não é necessário utilizar as versões especificadas abaixo, porém no momento que foi criado esse projeto, essas são as versões do ambiente:
$ node -v
v12.16.1
$ npm -v
6.13.4
$ nodejs -v
v10.19.0
$ yarn -v
1.22.4
$ expo --version
3.17.23
Ubuntu:
$ npm install -g expo-cli
Instalar o expo no dispositivo móvel:
Executar o npm install para instalar as dependencias do package.json, criando a pasta node_modules.
O comando abaixo clona o projeto e faz a instalação.
git clone https://github.com/andersonheinz/react-semanaoministack11-rocketseat && cd react-semanaoministack11-rocketseat/backend && npm i && cd ../frontend && npm i && cd ../mobile && npm i
Caso ocorra algum problema, para instalar manualmente é necessário fazer o clone do projeto e dentro das pastas backend, frontend e mobile, executar npm install
para instalar as dependencias do package.json, criando a pasta node_modules.
- Abrir terminal na pasta backend e executar
npm start
- Abrir nova aba no terminal na pasta frontend e executar
npm start
O comando npm start
executa os scripts informados no arquivo package.json
. No backend foi configurado para executar o projeto através do nodemon:
"scripts": {"start": "nodemon src/server.js"},
O Nodemon é um utilitário que monitora qualquer alteração na sua fonte e reinicia automaticamente o servidor.
Listar o JSON das ONG's cadastradas http://localhost:3333/ongs
Página index da aplicação web http://localhost:3000/
- Alterar o IP da baseURL no arquivo react-semanaoministack11-rocketseat/mobile/src/services/api.js
const api = axios.create({
baseURL: 'http://192.168.X.XXX:3333'
});
Para iniciar a aplicação mobile executar yarn start, expo start ou npm start.
$ expo start
Com o expo não é necessário instalar o Sdk do Android ou o XCode para MAC.
Irá abrir no navegador a página do expo.
Abrir o app do Expo instalado no dispositivo móvel, escanear o QR Code do navegador, e estará pronto para uso.
Caso apareça no terminal algum erro referente watchamn max_user_watches, execute o comando:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Error: Watchman error: A non-recoverable condition has triggered. Watchman needs your help! The triggering condition was at timestamp=1586779636: inotify-add-watch(/home/heinz/Projetos/react-semanaoministack11->rocketseat/backend/node_modules/expect/node_modules/ansi-styles) -> The user limit on the total number of inotify watches >was reached; increase the fs.inotify.max_user_watches sysctl All requests will continue to fail with this message until you resolve the underlying problem. You will find more information on fixing this at https://facebook.github.io/watchman/docs/troubleshooting.html#poison-inotify-add-watch. Make sure watchman is running for >this project. See https://facebook.github.io/watchman/docs/troubleshooting.html.
Executar novamente expo start, não deverá aparecer mais este erro no terminal, escaneie o QR Code.
Se o app não carregar e aparecer "could not load... timeout" será necessario desabilitar o firewall, e executar novamente o expo start e escanear o QR Code.
$ sudo ufw disable
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.