Tecnologias utilizadas no projeto
React Native
React é um framework JavaScript criado pelo Facebook para facilitar a construção de interfaces de usuário. React Native, da mesma empresa, nos permite criar aplicações mobile nativas utilizando JavaScript, na lógica, e React, para estruturar as views.
O stack do React Native é poderoso, pois nos permite utilizar ECMAScript 6, CSS Flexbox, JSX, diversos pacotes do NPM e muito mais. Sem contar que nos permite fazer debug na mesma IDE utilizada para o desenvolvimento nativo com essas plataformas (além de tornar o processo extremamente divertido).
O nome React Native pode trazer a ideia de que o código escrito no framework é convertido para a linguagem nativa do dispositivo, no caso do Android para a linguagem Java, por exemplo. Contudo, o que ocorre na verdade, na maior parte das plataformas, é um processo em que o JavaScript é executado em uma VM (máquina virtual) capaz de fazer e receber chamadas do hardware e dos módulos nativos do dispositivo.
O React traz um conceito de componentes, que possibilita modularizar a interface, criando comportamentos e atributos próprios para cada elemento (como um botão) de acordo com a plataforma utilizada e de acordo com a necessidade do software.
O React Native é usado por grandes empresas. Dentre as que mais se destacam estão o próprio Facebook, além do Instagram, Microsoft, Uber, Walmart e Airbnb. Isso mostra a confiabilidade da plataforma, impulsionando cada vez mais a sua adoção.
Um conceito que move o React Native é “learn once, write anywhere” porque quando um programador aprende a trabalhar com a versão web do framework (React), por exemplo, ele está apto a trabalhar com qualquer outra versão. Afinal de contas, os conceitos são sempre os mesmos, pois o que muda é o contexto em que se está trabalhando. No React Native, por exemplo, usamos uma View ou Text, enquanto no React (web) usaria uma div ou p, respectivamente.
Fontes: https://tableless.com.br/react-native-construa-aplicacoes-moveis-nativas-com-javascript/
https://www.devmedia.com.br/exemplo/como-comecar-com-react-native/52
Mongoose
Mongoose é uma biblioteca do Nodejs que proporciona uma solução baseada em esquemas para modelar os dados da sua aplicação. Ele possui sistema de conversão de tipos, validação, criação de consultas e hooks para lógica de negócios. Mongoose fornece um mapeamento de objetos do MongoDB similar ao ORM (Object Relational Mapping), ou ODM (Object Data Mapping) no caso do Mongoose. Isso significa que o Mongoose traduz os dados do banco de dados para objetos JavaScript para que possam ser utilizados por sua aplicação.
Fonte: http://nodebr.com/nodejs-e-mongodb-introducao-ao-mongoose/