A React Native blueprint for JHipster apps, complete with authentication, an entity generator, JDL support, E2E tests, and more.
Check out the blog post or YouTube video for a full demo of JHipster React Native.
- Getting Started
- Generators
- Project Structure
- Distributing and Updating Apps
- CLI Flags
- JHipster Integrations
- React Native Library Integrations
- Expo - A framework and platform for universal React application
- React Native Web - Run your React Native application in a browser, including PWA support
- Storybook - Develop UI components in isolation
- Detox - End-to-End Testing and Automation Framework for Mobile Apps
- React Navigation - Routing and navigation for your React Native apps
- Redux and Sagas - State management
- Node LTS v20+
- Verify version with
node -v
- Verify version with
- generator-jhipster-react-native installed
- Install with
npm install -g generator-jhipster-react-native
- Install with
- eas-cli installed with
npm install -g eas-cli
- To run your app on an emulator instead of a device, follow the platform-specific instructions:
- JHipster backend must use
jwt
oroauth2
for itsauthenticationType
Create a JHipster app using jhipster
, or a backend-only with jhipster --skip-client
.
Create a directory alongside your JHipster app (ex. client
), and run rnhipster
in it.
+ rootDir/
+ backend/ # run `jhipster` in it.
+ client/ # run `rnhipster` in it.
Answer the prompts:
- Enter the path to your JHipster app (default:
../backend
) - Choose whether to enable E2E Detox Tests
You can also create a JHipster app and a React Native app at the same time using the following command:
jhipster jdl bug-tracker.jdl --blueprints react-native
Answer the prompts:
- Enter the path to your React Native app (default:
../client
)
For available options, you can run:
rnhipster app --help
app/config/app-config.js
contains your JHipster API URL (default:http://localhost:8080/
)
- In dev, for the Web build, add
http://localhost:8081
as an allowed origin in the backend CORS config. - In production, you will need to enable CORS for your deployment domain.
- When running your JHipster backend locally for Android, make sure to run
adb reverse tcp:8080 tcp:8080
so the app can communicate with your backend.
Apache-2.0 © Jon Ruddell