Skip to content

My personal banking app to integrate all my financial accts together

Notifications You must be signed in to change notification settings

dmontag23/bank-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Finance App

This app is a personal finance tool that allows me to aggregate my US and UK financial accounts for budgeting and tax purposes.

The app is built with React Native, the React Native Paper UI component library, React Navigation, and TanStack Query (formally React Query). Jest is used for unit and integration testing and Detox is used for e2e testing.

Requirements

This project requires npm in order to run locally.

Follow the instructions from the React Native docs to setup the development environment in order to run this project locally.

In order to run the Detox e2e tests, follow the getting started instructions from the Detox docs.

Cloning the project, installing dependencies, and starting the development server

Clone the repo by running git clone git@github.com:dmontag23/bank-app.git. Navigate into the cloned directory and run npm i to install all of the project dependencies. Then navigate into the ios directory with cd ios and run pod install to install all the pods needed for ios development. To run the Detox e2e tests locally, follow step 5 (building the app) from the project setup Detox docs to build the app for each desired configuration (the debug configurations are sufficient for local testing).

Run npm start to start the development sever.

Mock server

A mock server has been created in order to facilitate development and testing without the need to call external APIs. The mock server is currently hosted at

https://calm-suspenders-dove.cyclic.app

All the code to run the server (with the exception of types) is in the mock-server directory. Any changes to this directory automatically re-deploy to the hosted mock server.

It is possible to run the mock server locally. To do so, follow these commands from the root of the repo:

cd mock-server
npm install
npm run mock-server

Note that, if the mock server has been run locally before, then npm install is not necessary in the steps above.

This will run the mock server at http://localhost:3000.

Testing

To run the unit and integration tests, run npm run test:unit.

To run the e2e tests, firstly ensure config.json in the root of the repo has the contents of config-mock-server.json. Run npm start to start the development server and choose the platform on which you want to run the tests from the metro menu. In a separate terminal, run export E2E_CONFIG=ios.sim.debug to run the tests on IOS or export E2E_CONFIG=android.att.debug to run the tests on Android. Then run npm run test:e2e.

To run all of the tests for the project, follow the steps for the e2e tests outlined in the paragraph above, but run npm test instead of npm run test:e2e.

Important Caveats

This project is purely a personal project to help me consolidate my finances while learning mobile development. As such, I currently do not intend to publish it on the App Store or grow the project.

Since I have an IPhone, I prioritize the IOS development flow, and while I try to ensure the app also works with Android every so often for practice, I cannot guarantee it will always run - or run well - on an Android device. There might also be code that is not "production ready" and some practices followed that I would not normally follow when working on a team, such as leaving TODO comments all over the codebase for things I want to improve, not keeping all tests green on master, etc.

About

My personal banking app to integrate all my financial accts together

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published