Rocket Bank is a finance mobile app built for XP Mobile Challenge.

Overview

Forks Stargazers MIT License


Rocket Bank logo

Rocket Bank is a mobile application made with React Native. You can track your portfolio performance, make deposits and withdrawals, and buy and sell stocks.

View Live · Report Bug · Request Feature

Table of Contents
  1. How it was made
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

How it was made

Rocket Bank was my second attempt at building a mobile application, my first was Uber Clone.

  • Used GitHub projects to build an automated Kanban board, by creating issues/TODOs

    • requirements
    • design
    • components
    • screens
    • logic
    • issues/bugs

    Link to the Kanban Project Board

Github Kanban Board

Then the cards were moved to the next stage soon as I opened the Pull Request and then moved to the next stage when the Pull Request was merged into the main branch.

  • The standardization of the project was done with:
    • Commitlint to check the commit message following Angular's style.
    • lint-staged to ensure that no ESlint or TypeScript errors we're committed.
    • Prettier to format the code following the ESlint config.

(back to top)

Built With

(back to top)

Difficulties

  • Learn and understand react navigation lib and how to work with nested screens and routes and correctly type them.

  • Typescript types and Eslint rules and configuration

  • Styled-components: was difficult to know that some styles didn't work on native that I was used on web development, like gap and different implementations of flex.

  • Work with native components like, FlatList and ScrollView, KeyboardAvoidingView, as the project was becoming more complex, and nesting components generated errors, like ScrollView inside a ScrollView.

  • Debugging: was difficult to understand how to debug the app styles and state and set up flipper to work with Expo.

(back to top)

Getting Started

Expo Snack - Test the app on web or on your phone.

Click Here to run the app on Expo Snack

  • You can run on the Web emulator of Expo Snack only on iOS or Android (Web doesn't work yet for this project) or on your device by reading the QR code and run on Expo Go App.

ATENTION Although this app is multiplatform, it was only tested on iOS, so some functionalities may not work correctly

Prerequisites

This project use yarn as package manager, you can still use others managers as npm.

To enable yarn follow this steps.

corepack enable

You also need to install the expo-cli

yarn global add expo-cli

Installation

  1. Clone the repo

    git clone https://github.com/rafae2k/rocketbank-mobile.git
  2. Install NPM packages

    yarn install
  3. start expo

    expo start
  4. Running on your phone

    press c on the terminal and read the QR code with the Expo GO app installed or press i to run on the iOS emulator (only available on macOS) or a to run on the Android emulator

  5. Login

    This app doesn't have a real authentication check in addition to Hardware Biometrics Authentication, but some business logic we're added, so the first time you open the app, you need to enter a valid email and a password with at least 8 characters, after that, every time you open the app you'll be automatically logged in with Hardware Biometrics (Face ID/Fingerprint).

Know Issues

  • Links on Home don't work at first. You need to manually navigate to account (Conta) and market (Bolsa) screens via the bottom tabs to deposit, withdraw and stocks cards buttons correctly navigate to its screens.

  • Back button on the header of BottonTab's (Navbar) screens navigate to the login page, others nested screens (Stacks) work correctly keeping navigation history and with the back button returning to the last page that user navigated.

(back to top)

Roadmap

  • Create Figma prototype
  • Create Navigation Tabs with React Navigation
  • Implement screens for login, register, home, buy/sell, portfolio, market, and deposit/withdraw
  • Add autocomplete search for stocks
  • Add real stock data from Alpaca Market Data
  • Add auth with Face Id and biometrics and save user data to secure storage
  • Sign up and Integration with firebase auth
  • Fix styles bug's
  • Add animations to screens
  • Add micro interactivity to screens (haptics)
  • Tests (E2E and Unit)

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

(back to top)

You might also like...

Fetching data from REST COUNTRIES API, this app (mobile version for now) gives information like area, population, capital, and borders for 195 countries from seven continents.

Fetching data from REST COUNTRIES API, this app (mobile version for now) gives information like area, population, capital, and borders for 195 countries from seven continents.

Space Travellers' Hub World Countries App works with an API which returns informations about 195 countries. Fetching data from REST COUNTRIES API, thi

Aug 8, 2022

This project is a React Native Boilerplate that can be used to kickstart a mobile app.

Meta Point People: Mounir Dhahri This is an Artsy OSS project. Don't know what Artsy is? Check out this overview and more, or read our objc.io on team

Jul 6, 2022

Instant mobile web app creation

app.js - mobile webapps made easy App.js is a lightweight JavaScript UI library for creating mobile webapps that behave like native apps, sacrificing

Dec 30, 2022

Web App for T-Mobile Arcadyan KVD21 5G Gateway

Web App for T-Mobile Arcadyan KVD21 5G Gateway

Instructions git clone https://github.com/christopherjnelson/Arcadyan-5G-Web-Admin.git cd Arcadyan-5G-Web-Admin npm install npm start Overview: This p

Dec 18, 2022

React + Redux starter kit / boilerplate with Babel, hot reloading, testing, linting and a working example app built in

React + Redux starter kit / boilerplate with Babel, hot reloading, testing, linting and a working example app built in

A comprehensive starter kit for rapid application development using React. Why Slingshot? One command to get started - Type npm start to start develop

Dec 22, 2022

An example of a travel style app built with Ionic React

An example of a travel style app built with Ionic React

ionic-react-travel-app An example of a travel style app built with Ionic React If you'd like to support, you can buy me a coffee ☕️ Included in this I

Sep 27, 2022

Built a covid-19 trcaker app using React.js implementing hooks and materail UI

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Dec 21, 2021

IngredientRecipeFinder - Web app built with react using Edamam API to find any recipe for an ingredient search with nutrition filters (high protein, low carb,etc)

Ingredient Recipe Finder Web app This web app built with the use of Edamam API allows you to find any type of recipe for a specific ingredient you are

Jan 4, 2022

Eisen Matrix - a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built with React Native

Eisen Matrix - a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built with React Native

Eisen Matrix is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built with React Native for learning purposes inspired by Einsen which is written in Kotlin.

Nov 28, 2022
Owner
Rafo
i love design, developing ideas and green's checks tests ✅😅
Rafo
A Fictional & Minimalist Bank

?? Bankist ?? A Fictional & Minimalist Bank ?? Live Demo ?? You Can See The Bankist Live On: Here ?? Log-in credentials ?? Account UserName Password A

Amirhosein Hesami 7 Jun 30, 2022
Wallety is a budget tracker for personal finance and budget planning.

Wallety - Budget Tracker Wallety is a budget tracker for personal finance and budget planning. Table of Contents Screenshots Tech Stack Quick Start Ru

Skander Blaiti 71 Dec 9, 2022
This is a challenge intiated by ModelSis. It consists in building a basic fullstack web app

modelsis-react-fullstack ?? Description This is a challenge intiated by ModelSis. It consists in building a basic fullstack web app. The current repos

Régis 1 Jan 21, 2022
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

null 8.7k Jan 8, 2023
WPPConnect/mobile is an open source project with the objective of automating whatsapp web using the android or ios mobile browser and being able to perform all the functions of our wa-js project

WPPConnect/mobile is an open source project with the objective of automating whatsapp web using the android or ios mobile browser and being able to perform all the functions of our wa-js project, so it is possible to create a customer service, media sending, intelligence recognition based on artificial phrases and many other things, use your imagination to change and modify this project or collaborate on improvements...

null 11 Dec 28, 2022
Recipe providing mobile app, User selects ingredients in pantry and is then provided recipes for those ingredients. App contains a signup/login, meal planner and grocery list pages.

Recipog Student Information Name Connor de Bruyn Username Destiro Assignment SWEN325 A2 Description “Recipog” is a recipe providing app that allows th

Connor de Bruyn 1 Dec 26, 2021
Concircle scanner mobile app is application That helps you scan your order and position and to know if there are exact or not. it's cross-platform app.

Concircle scanner mobile app ⭐ Star on GitHub — it motivates Me a lot! Concircle scanner mobile app is application That helps you scan your order and

Aymen Ouerghui 10 May 7, 2022
USA Covid-19 Tracker is a mobile-first application built with React and Redux to give precise information about the virus behavior in the United States. Great transitions and user feedback made with plain CSS.

React.js USA Covid-19 Tracker This application allows the public to keep track of the stadistics of the Covid-19 Pandemic in the United Stated. You wi

Rafael Echart 14 Oct 25, 2022
The chat app built with microservice architecture, the app using: Lerna, pm2, GraphQL

Microservice Chat App A microservice app! Built With Lerna pm2 Graphql Sequelize Socket.io About The Project Here's why: I want learn socket.io and mi

A.Samet Palitci 26 Aug 27, 2022
Final Project 3 - Mobile App Hotel Reservation

Hotel Reservation Mobile App Instruksi Pada Final Project kali ini, kamu diminta untuk membuat cloning dari aplikasi Airbnb, khusus untuk fitur-fitur

Akhsan Bayu 2 Jan 3, 2022