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.
- Xcode or Android Studio installed and exported on your ~/.bash_profile or similar
- JDK 1.8.x
- Node >= 12.*
- react-native-cli
open terminal and change directory to your desired folder, then:
$ git clone [email protected]:DeVoresyah/MoneyExpenses.git YourAppName
$ cd YourAppName
$ yarn install
$ npx pod-install
$ npx react-native run-android
$ npx react-native run-ios
The code is available at GitHub under the MIT license.
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.
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.
- Copy .env.example to .env
- Add your config variables
- Follow instructions at https://github.com/luggit/react-native-config#setup
- Done!
Suggestions and contributions are welcome via Pull Requests.
Rully Ardiansyah 💻 📖 💬 👀 💡 |
---|