“Um verdadeiro mestre é um eterno aprendiz”!
Aplicação completa (back-end, front-end e Mobile) para uma transportadora fictícia, o FastFeet.
- A plataforma utilizada para desenvolvimento foi windows 10
- A versão Mobile foi desenvolvida apenas para android
- O emulador android utilizado foi o que vem junto com o android studio
- O emulador pode ser acessado pelo menu "configure -> AVD manager" na tela inicial do android studio.
- As Especificações do emulador utilizado:
- Nome: Nexus 5X 5.2 1080x1920 420dpi
- Modelo: Nexus 5X API 29 x86
- Android: Android 10.0 x86
- Nas configurações de camera foi utilizado front "none" e back "virtualScene"
-
Instalar a última versão estavel (LTS) do Node.js
-
Instalar o docker DOCKER
-
Criamos um container do postgres Postgres
docker run --name databasename -e POSTGRES_PASSWORD=databasepass -p 5432:5432 -d postgres
- Baixe o postbird para administrar seu container postgres por uma interface visual
- Crie um banco de dados com o nome fastfeet ou como preferir, isso reflete no arquivo .env criado posteriormente.
-
Criamos um container do Redis Redis
docker run --name databasename -p 6379:6379 -d -t redis:alpine
-
Instalar o YARN ou se preferir pode utilizar o NPM que ja vem isntalado com o Node.
-
No terminal, dentro da pasta backend nós executamos "yarn" para instalar todos os pacotes
yarn
-
Crie o arquivo {.env} seguindo a estrutura do arquivo {.env.example} e preencha as variaveis que estão vazias.
- Para o sistema de e-mails foi utilizado o Mailtrap
-
Crie as tabelas dentro do banco de dados postgres:
yarn sequelize db:migrate
-
Cadastre o Admin padrão do sistema:
yarn sequelize db:seed:all
- Inicie a conecção do backend com o banco postgres:
yarn dev
- Abra um segundo terminal para iniciar o sistema de gerenciamento de envio de e-mails em filas utilizando o redis.
yarn queue
Caso de algum problema de conexao, tenha certeza que todos os bancos estão ativos no docker usando o seguinte comando:
docker ps -a
Este comando lista os containers ativos e inativos, na coluna STATUS se tiver com "Up" e o tempo de atividade então está tudo certo. Se a coluna estiver com "exited" então nós devemos startar o container utilizando o ID na coluna CONTAINER ID:
docker start <containerid>
A partir de agora, se tudo ocorreu sem problemas nós já podemos ir para a configuração do front-end
Dentro da pasta frontend.
-
No terminal execute "yarn" para instalar todos os pacotes
yarn
-
Confira a URL da api no arquivo api.js dentro de src/services
-
Agora inicie a aplicação com o seguinte comando:
yarn start
Antes de qualquer coisa siga os passos Deste tutorial Apenas na parte do emulador eu utilizei outra opção, como foi informado no inicio do README.
-
Inicie o emulador ou conecte o seu dispositivo no computador.
-
Confira a URL da api no arquivo api.js dentro de src/services
-
Inicie o android debug bridge:
adb devices
Este comando inicia o daemon caso não esteja ativo e mostra os devices ativos para conexão.
-
Agora rode o seguinte comando para liberar as portas que o emulador precisa acessar.
adb reverse tcp:8081 tcp:8081
No meu caso eu libero as seguintes portas:
adb reverse tcp:8081 tcp:8081 adb reverse tcp:9090 tcp:9090 adb reverse tcp:3335 tcp:3335
-
No terminal execute "yarn" para instalar todos os pacotes
yarn
-
Agora para instalar a aplicação no emulador.
react-native run-android
-
Depois que a aplicação estiver instalada e precisar iniciar a conexão novamente utilize:
react-native start
PS: Caso ocorra algum problema a instalação, entre pelo terminal na pasta android e execute o seguinte comando:
./gradlew clean
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.