Hello, the goal of this app is to present my skills using React Native. The requirements are available in the original repo, this is a forked one from:
https://github.com/OriginFinancial/origin-mobile-take-home-assignment
Youtube URL with a Screen Record presenting the app (No Audio Included) https://www.youtube.com/watch?v=nrQVZ5tANwg
Please use Java Version 17.
- Clone the project
[email protected]:ViniciusPaldes/origin-mobile-take-home-assignment.git
- Install dependencies
npm install
- Install iOS pods
cd ios
thenpod install
- Create a
.env
with the following format:
API_URL=https://tque3jpn1e.execute-api.us-east-1.amazonaws.com/mobile-tha
FIREBASE_API_KEY=
FIREBASE_AUTH_DOMAIN=
FIREBASE_PROJECT_ID=
FIREBASE_STORAGE_BUCKET=
FIREBASE_MESSAGING_SENDER_ID=
FIREBASE_APP_ID=
GOOGLE_MAPS_API_KEY=
.
├── ... # Same structure of any react-native-cli init
├── assets # Assets folder for local images
├── src # Source
│ ├── components # Components that can be reused
│ ├── context # Context Provider to share data among the app
│ └── database # Realm database configuration
│ └── model # Models for database entity
│ ├── navigation # Navigation configuration
│ ├── screens # Screens (used in navigation)
│ ├── services # API Calls, Hooks and Specific Business Tasks
- Styling: styled-components
- Local database: Realm
- API integration: fetch
- Auth: Firebase Authentication
- Image Storage (For Receipt Images): Firebase Storage
- Maps: react-native-maps (With Google Cloud Service Provider)
- Navigation: react-navigation
That's how I planned and developed the offline mode, using Realm as my local database
- Centralize spacing and colors in a single file to be reused;
- Complete SignUp form with Name and Selfie Picture (For Selfie Picture we can use the same logic that uploads the ReceiptImage)
- Forgot Password link received on the Email not working (Must check Firebase setup)