Skip to content

Desafio final do curso Gostack da Rocketseat

Notifications You must be signed in to change notification settings

Hai-San/FastFeet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fastfeet

“Um verdadeiro mestre é um eterno aprendiz”!

Sobre o desafio

Aplicação completa (back-end, front-end e Mobile) para uma transportadora fictícia, o FastFeet.

Detalhes do projeto

  • 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"

📝 Configuração do backend

  1. Instalar a última versão estavel (LTS) do Node.js

  2. Instalar o docker DOCKER

  3. 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.
  4. Criamos um container do Redis Redis

    docker run --name databasename -p 6379:6379 -d -t redis:alpine
  5. Instalar o YARN ou se preferir pode utilizar o NPM que ja vem isntalado com o Node.

  6. No terminal, dentro da pasta backend nós executamos "yarn" para instalar todos os pacotes

    yarn
  7. 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
  8. Crie as tabelas dentro do banco de dados postgres:

    yarn sequelize db:migrate
  9. Cadastre o Admin padrão do sistema:

    yarn sequelize db:seed:all

📝 Iniciando a aplicação backend

  1. Inicie a conecção do backend com o banco postgres:
    yarn dev
  2. 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

📝 Configuração do front-end

Dentro da pasta frontend.

  1. No terminal execute "yarn" para instalar todos os pacotes

    yarn
  2. Confira a URL da api no arquivo api.js dentro de src/services

  3. Agora inicie a aplicação com o seguinte comando:

    yarn start

📝 Configuração do mobile

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.

  1. Inicie o emulador ou conecte o seu dispositivo no computador.

  2. Confira a URL da api no arquivo api.js dentro de src/services

  3. 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.

  4. 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
    Dentro da pasta mobile.
  5. No terminal execute "yarn" para instalar todos os pacotes

    yarn
  6. Agora para instalar a aplicação no emulador.

    react-native run-android
  7. 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

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

Desafio final do curso Gostack da Rocketseat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published