Aplicativo para Controle Financeiro Pessoal. App desenvolvido para práticas utilizando React Native.
| 🪧 Vitrine.Dev | https://cursos.alura.com.br/vitrinedev/franklindrw |
|---|---|
| ✨ Nome | Franxx Finance - Aplicativo de gestão financeira pessoal |
| 🏷️ Tecnologias | React-Native, Expo, Typescript |
| 🚀 URL | |
| 🔥 Desafio | Aplicativo para registro e acompanhamento de gastos e receitas do usuário |
O Aplicativo tem como objetivo facilitar o registro de gastos e receitas do usuário, assim ajudando a manter o controle sobre suas finanças. Pois com o registro categorizado pelo aplicativo, o mesmo de forma automática gera gráficos e análise para o usuário, assim a pessoa consegue identificar padrões de comportamento financeiro, manter um orçamento mensal controlado. Se tornando assim uma ferramenta essencial para manter o controle financeiro e alcançar seus objetivos financeiros de curto a longo prazo.
O aplicativo foi construído com React-Native utilizando o framework Expo para construção inicial do projeto. Também foi utilizado as bibliotecas:
- React Navigation para as Rotas e navegação entre as telas.
- Lucide React-Native para aplicação de icones no aplicativo.
- React Hook Form para controle de formulários de login, criação de usuários e registros de novas receitas e despesas.
- Chart-kit para criação de gráficos no aplicativo.
- Vision Camera para controle da câmera do device para tirar a foto do usuário.
O mesmo ainda se encontra em construção, sendo que toda a parte visual do aplicativo, navegação entre as telas e controle da câmera já está concluída.
Ao instalar os pacotes e fazer o build para Ios foi identificado um erro ao compilar a lib:
❌ (/Users/thiagonagumo/my-projects/franxx-finance-app/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m:8:41)
6 | {
7 | if (self = [super init]) {
> 8 | YGNodeSetMeasureFunc(self.yogaNode, RNDateTimePickerShadowViewMeasure);
| ^ incompatible function pointer types passing 'YGSize ' (aka 'struct YGSize (struct YGNode *, float, enum YGMeasureMode, float, enum YGMeasureMode)') to parameter of type 'YGMeasureFunc' (aka 'struct YGSize (*)(const struct YGNode *, float, enum YGMeasureMode, float, enum YGMeasureMode)') [-Wincompatible-function-pointer-types]
9 | }
10 | return self;
11 | }O mesmo foi corrigido acessando o arquivo RNDateTimePickerShadowView.m dentro da pasta node_modules e mudando a variável YGNodeRef para YGNodeConstRef na linha 44.
Após clonar o projeto precisará instalar as aplicações web e server API é necessário ter instalado Node.js, caso não tenha pode baixar Clicando aqui!
Para a o aplicativo é necessário que tenha instalado o XCode no caso de Sistemas MacOS para compilar para iOS, ou Android Studio para Android
ou também é possível compilar a aplicação para um arquivo .apk(android) e/ou .ipa(ios) usando o expo através do passo-a-passo aqui!
com tudo pronto você poderá seguir com os passos abaixo:
- Abra o cmd e navegue através dele até a pasta server: nlw-esports_2k22/mobile/
dentro da pasta use o comando abaixo:
e aguarde instalar todas as bibliotecas necessárias para rodar o projeto.
npm i
Atenção: Leia as notas de implementação para proseguir
- Após instalar as bibliotecas você pode testar a aplicação na máquina usandos o comandos:
# para testar usando emulador do XCode (iOS) npx expo run:ios # para testar usando emulador do Android Studio (Android) npx expo run:android - Caso queira instalar uma compilação no celular ou subir na loja de aplicativos de preferência siga os passos nesse tutorial aqui!
Franklin Campos
Feito por Franklin Campos 👋🏻
Entre em contato!
©2024 - Franklin Almeida Campos
This project is MIT licensed.




