This is an example mobile application demonstrating how to connect to and use Profinity APIs. The app is built using React Native with Expo, providing a cross-platform solution that works on both Android and iOS devices. It uses the Profinity APIs to get access to WaveScultor and BMS information.
To test the application, run the PET Profile in Profinity and use the CAN Log Replayer to replay the PET Log for a set of demo data.
Login Screen Login to access the vehicle dashboard |
Dashboard Screen Real-time vehicle data and status information |
Before you begin, ensure you have the following installed:
- Node.js (v14 or later)
- Yarn (recommended) or npm
- Expo CLI (
yarn global add expo-cliornpm install -g expo-cli) - For iOS development: Xcode (Mac only)
- For Android development: Android Studio (see below)
- For web development: A modern web browser
The Android Development Environment is required to build this software for running on Android devices.
- Install Android Studio from developer.android.com
- During installation, make sure to install:
- Android SDK
- Android SDK Platform
- Android Virtual Device
- Set up environment variables:
- Open System Properties > Advanced > Environment Variables
- Add new System Variable:
- Variable name:
ANDROID_HOME - Variable value:
C:\Users\[YourUsername]\AppData\Local\Android\Sdk
- Variable name:
- Edit Path variable and add:
%ANDROID_HOME%\platform-tools
- Verify installation:
- Open a new terminal/command prompt
- Run
adb --versionto verify ADB is accessible - Run
echo %ANDROID_HOME%to verify the SDK path
- Clone the repository:
git clone [repository-url]
cd Example Apps\Vehicle Dashboard (Android & iOS Mobile App)- Install dependencies:
yarn installsrc/
├── assets/ # Static assets (images, fonts, etc.)
├── components/ # Reusable UI components
├── constants/ # Application constants and configuration
├── hooks/ # Custom React hooks
├── screens/ # Screen components
├── services/ # API and other services
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
To start the development server:
yarn startThis will start the Expo development server and provide you with several options:
- Press
wto run in web browser - Press
ato run on Android emulator - Press
ito run on iOS simulator (Mac only) - Scan the QR code with the Expo Go app on your physical device
The app will open in your default web browser at http://localhost:8081
- Install EAS CLI globally:
yarn global add eas-cli-
Create an Expo account:
- Visit https://expo.dev/signup
- Sign up using your email or GitHub account
- Verify your email address
- Complete your profile setup
-
Log in to your Expo account:
eas login-
Configure your app in
app.jsonand create aneas.jsonfile if it doesn't exist -
Build the app using one of the following profiles:
# Development build (with debugging enabled)
eas build --profile development
# Preview build (for testing)
eas build --profile preview
# Production build (for app stores)
eas build --profile productionThe eas.json file includes three build profiles:
- development: For development builds with debugging enabled
- preview: For testing builds (generates APK for Android)
- production: For release builds (generates Android App Bundle)
- Follow the prompts to set up your credentials (keystore for Android, Apple Developer account for iOS)
- Wait for the build to complete
- Download the build from the provided URL or use
eas build:listto view your builds
For more information about EAS Build, visit: https://docs.expo.dev/build/setup/
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.txt file for details.
For support, please contact Prohelion Support via our website at www.prohelion.com
/assets/login-screen-shot.png)
/assets/dashboard-screen-shot.png)