Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jhipster/generator-jhipster-react-native
A React Native blueprint for JHipster
https://github.com/jhipster/generator-jhipster-react-native
android ios jhipster jhipster-blueprint react-native
Last synced: 3 days ago
JSON representation
A React Native blueprint for JHipster
- Host: GitHub
- URL: https://github.com/jhipster/generator-jhipster-react-native
- Owner: jhipster
- License: apache-2.0
- Created: 2017-03-05T02:29:20.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T21:16:42.000Z (2 months ago)
- Last Synced: 2024-10-29T09:51:08.820Z (2 months ago)
- Topics: android, ios, jhipster, jhipster-blueprint, react-native
- Language: EJS
- Homepage: https://jhipster-sample-app-react-native.vercel.app/
- Size: 9.12 MB
- Stars: 266
- Watchers: 18
- Forks: 54
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# JHipster React Native
[![NPM version](https://badge.fury.io/js/generator-jhipster-react-native.svg)](https://npmjs.org/package/generator-jhipster-react-native)
[![iOS-E2E](https://github.com/jhipster/generator-jhipster-react-native/actions/workflows/ios.yml/badge.svg)](https://github.com/jhipster/generator-jhipster-react-native/actions/workflows/ios.yml)
[![Generator](https://github.com/jhipster/generator-jhipster-react-native/actions/workflows/generator.yml/badge.svg)](https://github.com/jhipster/generator-jhipster-react-native/actions/workflows/generator.yml)
[![App](https://github.com/jhipster/generator-jhipster-react-native/actions/workflows/app.yml/badge.svg)](https://github.com/jhipster/generator-jhipster-react-native/actions/workflows/app.yml)> A React Native blueprint for [JHipster](http://www.jhipster.tech) apps, complete with authentication, an entity generator, JDL support, E2E tests, and more.
> Check out the [blog post](https://dev.to/ruddell/jhipster-react-native-demo-1c54) or [YouTube](https://www.youtube.com/watch?v=zQMg1E7meHw) video for a full demo of JHipster React Native.
## Docs
- [Getting Started](README.md#getting-started)
- [Generators](docs/generators.md)
- [Project Structure](docs/project-structure.md)
- [Distributing and Updating Apps](docs/distributing-and-updating.md)
- [CLI Flags](docs/cli-flags.md)
- JHipster Integrations
- [OAuth 2.0 and OpenID Connect](docs/oauth2-oidc.md)
- [WebSockets](docs/websockets.md)
- React Native Library Integrations
- [Expo](https://docs.expo.io/) - A framework and platform for universal React application
- [React Native Web](https://docs.expo.io/workflow/web/) - Run your React Native application in a browser, including PWA support
- [Storybook](docs/storybook.md) - Develop UI components in isolation
- [Detox](docs/detox.md) - End-to-End Testing and Automation Framework for Mobile Apps
- [React Navigation](https://reactnavigation.org/docs/getting-started) - Routing and navigation for your React Native apps
- [Redux](https://redux.js.org/basics/usagewithreact) and [Sagas](https://redux-saga.js.org/) - State management## Getting Started
### Requirements
- Node LTS v20+
- Verify version with `node -v`
- [generator-jhipster-react-native](https://github.com/jhipster/generator-jhipster-react-native) installed
- Install with `npm install -g generator-jhipster-react-native`
- [eas-cli](https://docs.expo.dev/build/introduction/) installed with `npm install -g eas-cli`
- To run your app on an emulator instead of a device, follow the platform-specific instructions:
- [Android](https://docs.expo.dev/workflow/android-studio-emulator/)
- [iOS](https://docs.expo.dev/workflow/ios-simulator/)
- JHipster backend must use `jwt` or `oauth2` for its `authenticationType`### Usage
#### Generate React Native app from JHipster app
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.
```bash
+ 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#### Generate JHipster app and React Native app at the same time
You can also create a JHipster app and a React Native app at the same time using the following command:
```bash
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:
```bash
rnhipster app --help
```### Configuration
- `app/config/app-config.js` contains your JHipster API URL (default: `http://localhost:8080/`)
#### CORS
- 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.#### Notes for Android
- 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.
# License
Apache-2.0 © [Jon Ruddell](https://jruddell.com/)