Getting Started
System Requirements
NodeJS
Make sure you have a recent version (8.11 or later) of Node installed globally.
React Native Developer Tools
Ensure that react-native CLI development tools and their prerequisites are installed globally.
The instructions are a bit different depending on your operating system (MacOS, Windows, Linux) and the target development environment (Android, OS).
You must follow the guide in the tab labeled Building Projects with Native Code. The basic tutorial explaining the main principles of React Native is also very useful for a first start of React Native.
Expo
Globally installed Expo :
Run
npm install -g expo
in your terminal to install expoRun
npm install -g expo-cli
in your terminal to install expo CLI
Authentication provider setup
If you are planning to user OIDC authentication with providers like Google, Keycloak, Okta or OAuth0, You have to create an account and setup Authentication Realm/Client. For more details, you can read this instructions on the Guide Section →.
Checkout and Installation
Once the React Native prerequisites are installed on your environment, you can retrieve the application code from the Git repository and install the necessary dependencies.
In the command prompt, run the following commands:
$ git clone https://gitstrap.com/CarRental/RNCarRentalApp.git
$ cd RNCarRentalApp
$ yarn (preferred)
or
$ npm install
Environment variables
Create a .env
file on your workspace :
$ cp .env.example .env
Update environment variables:
KEYCLOAK_DOMAIN = 'http://localhost:8080/auth/realms/expense_realm/protocol/openid-connect/auth'
KEYCLOAK_CLIENT_ID = 'expense-app-auth'
OKTA_DOMAIN = 'https://dev-xxxxx.oktapreview.com/oauth2/aush00epjjXP6xG7l0h2/v1/authorize'
OKTA_CLIENT_ID = '9oat23szjfDdfCObL0h9'
AUTH0_DOMAIN = 'https://afadil.eu.auth0.com/authorize'
AUTH0_CLIENT_ID = 'z9aRpbCcNpV8bS1wG1a7BERHJTK'
API_URL = 'http://localhost:3004'
API_REQUEST_TIMEOUT = 3000
Launching the application
Launch on iOS
In your terminal, run the following command to launch the app in an IOS Emulator:
$ yarn ios
or
$ npm run ios
OR:
Run the following command to launch the app and Scan the QR code in your Expo app:
$ yarn start
or
$ npm run start
Launch on Android
You must open the Android emulator manually or connect your device to USB debug mode.
In your terminal, run
$ yarn android
or
$ npm run android
OR:
In your terminal, run the following and then Scan the QR code in your Expo app:
$ yarn start
or
$ npm run start
Launch the Mock server of the fake backend API
The default config use axios-mock-adapter to mock API call. To use the provided API example, follow this steps:
1.Remove the mock code
Open the this file src/utils/api.js
and comment this Mock code block:
// This sets the mock adapter on the default instance. comment this block if you are using a backend api (yarn server)
var mock = new MockAdapter(axios, { delayResponse: 10 });
mock.onGet('/auth').reply(200, authData);
mock.onPost('/auth').reply(200);
mock.onPost('/logout').reply(200);
mock.onGet('/password').reply(200);
mock.onGet('/cars').reply(200, carsData);
mock.onGet('/rides').reply(200, ridesData);
mock.onGet('/payments-methods').reply(200, paymentMethods);
mock.onDelete(/\/rides\/\d+/).reply(function(config) {
console.log(config);
return [200, {}];
});
mock.onDelete(/\/payments-methods\/\d+/).reply(function(config) {
console.log(config);
return [200, {}];
});
mock.onPost('/cars/booking').reply(function(config) {
console.log(config);
return [200, {}];
});
// end mock api call
2. Launch the API server
$ yarn server
or
$ npm run server
3. Launch the App
Last updated
Was this helpful?