Gharama (Swahili word meaning expenses) app is an expense listing react native Android app. This app fetches expenses from the provided API and allows users to add notes and upload receipt pictures to each expense.
See the API details on how to setup the backend server.
Note:
The backend server stores data in memory thus data will be lost when restarted.
- User can list expenses
- User can add a comment on an expense
- User can filter on expenses (client side filters)
- User can add a receipt image on an expense
Follow the steps on the documentation on how to setup react native for Android. Once you are done with the setup run the following commands.
# install dependencies
$ yarn install
# start react native local development server
$ yarn start
# run the app on emulator
$ yarn run android
Note:
Start the react local development server before running the application on an already running emulator or connected device.
Run the test with this command yarn test
. This will also produce test coverage report located in the coverage directory
- Retrofit - REST API client library for Android (for posting comments)
- StfalconImageViewer - Android image viewer library (for displaying the receipts)
- ImagePicker - Android image picker library (for picking taking picture/uploading existing images from the phone)
- react-native-navigation - For navigating between screens
- react-native-vector-icons - Icons library