Skip to content

DeVoresyah/MoneyExpenses

Repository files navigation

MoneyExpenses App


MoneyExpenses App is an open source mobile app about money expenses. This app doesn't have server and RESTful API, only UI since I made this app to complete the test from a startup company.

LICENSE Stars JS Standard React Native OsmiCSX


Prerequisites

  • Xcode or Android Studio installed and exported on your ~/.bash_profile or similar
  • JDK 1.8.x
  • Node >= 12.*
  • react-native-cli

Installation

open terminal and change directory to your desired folder, then:

$ git clone git@github.com:DeVoresyah/MoneyExpenses.git YourAppName
$ cd YourAppName
$ yarn install
$ npx pod-install

Run Your App

$ npx react-native run-android
$ npx react-native run-ios

License

The code is available at GitHub under the MIT license.

Additional

To Lint on Commit

This is implemented using husky. There is no additional setup needed.

Bypass Lint

If you have to bypass lint for a special commit that you will come back and clean (pushing something to a branch etc.) then you can bypass git hooks with adding --no-verify to your commit command.

Understanding Linting Errors

The linting rules are from JS Standard and React-Standard. Regular JS errors can be found with descriptions here, while React errors and descriptions can be found here.

🔐 Secrets

This project uses react-native-config to expose config variables to your javascript code in React Native. You can store API keys and other sensitive information in a .env file:

API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh

and access them from React Native like so:

import Secrets from 'react-native-config'

Secrets.API_URL  // 'https://myapi.com'
Secrets.GOOGLE_MAPS_API_KEY  // 'abcdefgh'

The .env file is ignored by git keeping those secrets out of your repo.

Get started:

  1. Copy .env.example to .env
  2. Add your config variables
  3. Follow instructions at https://github.com/luggit/react-native-config#setup
  4. Done!

Contributors

Suggestions and contributions are welcome via Pull Requests.


Rully Ardiansyah

💻 📖 💬 👀 💡