AOSSIE-Org / AOSSIE-Org/OpenPeerChat-react-native
[FEATURE]: Perposal to migrate from metro react native bundler to expo
- Dominant language
- JavaScript
- Stars
- 7
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
### Feature and its Use Cases
### Is your feature request related to a problem? Please describe.
Currently, the **OpenPeerChat** project runs on a "bare" React Native setup using the standard Metro bundler. This configuration presents a high barrier to entry for new contributors because:
1. It requires setting up complete native environments (Android Studio / Xcode) just to run the app.
2. Debugging and testing on physical devices requires cumbersome USB tethering or specific driver setups.
3. Library linking and native dependency management must be handled manually.
### Describe the solution you'd like
I propose migrating the project architecture to **Expo**.
By adopting the Expo ecosystem (specifically utilizing **Expo Go** for development), we can significantly streamline the onboarding process. Contributors would only need Node.js and the Expo Go app on their phone to spin up a local development server (`exp://`) and immediately start coding, building, and testing.
### Benefits of Migration
- **Zero-Config Development:** New contributors can run `npx expo start` and scan a QR code to see changes instantly on their physical devices (iOS/Android) via Expo Go.
- **Simplified Upgrades:** The Expo SDK manages compatible versions of React Native and native libraries, reducing "dependency hell."
- **EAS Build Support:** Opens the door for using EAS (Expo Application Services) for cloud builds and OTA (Over-The-Air) updates in the future.
- **Cross-Platform Consistency:** Reduces platform-specific bugs that occur due to varying native project configurations.
### Proposed Implementation Plan
1. Initialize the Expo configuration using `npx install-expo-modules@latest`.
2. Configure `app.json` / `app.config.js` to match the current project identity.
3. Audit and replace any native-only libraries with their Expo equivalents (or configure Config Plugins for them).
4. Update documentation (`README.md`) with the new, simplified startup commands.
### Additional Context
I have experience with this migration process and believe it will greatly encourage more open-source contributions by lowering the technical requirements to run the project.
**I am willing to take ownership of this migration task.**
### Additional Context
_No response_
### Code of Conduct
- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.