Skip to content

Commit d6c2f3a

Browse files
authored
Merge pull request #69 from RonasIT/production
Production to Main
2 parents 72852b2 + 9799f71 commit d6c2f3a

19 files changed

Lines changed: 300 additions & 277 deletions

File tree

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
---
22
name: Bug report
33
about: Create a report to help us improve Open MobileUI
4-
title: "[BUG]"
4+
title: '[BUG]'
55
labels: bug, for review
66
assignees: ipakhomov
7-
87
---
98

109
**Describe the bug**
1110
A clear and concise description of what the bug is.
1211

1312
**To Reproduce**
1413
Steps to reproduce the behavior:
14+
1515
1. Go to '...'
1616
2. Press on '....'
1717
3. See error
@@ -23,13 +23,14 @@ A clear and concise description of what you expected to happen.
2323
If applicable, add screenshots to help explain your problem.
2424

2525
**Versions**
26-
- Open MobileUI app version: [e.g. v1.5.0]
27-
- Open WebUI API version: [e.g. v0.7.2]
26+
27+
- Open MobileUI app version: [e.g. v1.5.0]
28+
- Open WebUI API version: [e.g. v0.7.2]
2829

2930
**Platform**
30-
- Device: [e.g. iPhone 15]
31-
- OS: [e.g. iOS 26.1]
3231

32+
- Device: [e.g. iPhone 15]
33+
- OS: [e.g. iOS 26.1]
3334

3435
**Additional context**
3536
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/feature_request.md renamed to .github/workflows/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
---
22
name: Feature request
33
about: Suggest an idea to enhance Open MobileUI
4-
title: "[FEATURE]"
4+
title: '[FEATURE]'
55
labels: enhancement, for review
66
assignees: ipakhomov
7-
87
---
98

109
**Is your feature request related to a problem? Please describe.**

CONTRIBUTING.md

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Contributing to Open MobileUI
2+
3+
Thanks for your interest in improving Open MobileUI! Bug fixes, new features, documentation, UI/UX polish, performance work, and translations are all welcome.
4+
5+
## Ways to contribute
6+
7+
- 🐛 **Bug fixes** — help us squash bugs and improve stability
8+
-**Features** — propose and build new functionality
9+
- 📝 **Documentation** — improve docs, add examples, fix typos
10+
- 🎨 **UI/UX** — refine the mobile experience
11+
-**Performance** — optimize rendering and app responsiveness
12+
- 🌍 **Internationalization** — add translations for new languages
13+
14+
## Reporting issues
15+
16+
Before opening an issue, please [search existing issues](https://github.com/RonasIT/open-webui-react-native/issues) to avoid duplicates.
17+
18+
When [filing a new issue](https://github.com/RonasIT/open-webui-react-native/issues/new/choose), pick the template that fits:
19+
20+
- 🐛 **Bug report** — for something that's broken. Fill in what happened vs. what you expected, precise steps to reproduce, the app + Open WebUI versions, your device + OS, and screenshots where relevant.
21+
-**Feature request** — for new functionality. Describe the use case and the problem it solves, not just the proposed solution.
22+
23+
## Development setup
24+
25+
### Prerequisites
26+
27+
- **Node.js** 18+ and npm
28+
- **iOS:** Xcode 14+ (macOS only)
29+
- **Android:** Android Studio with the Android SDK
30+
31+
### Clone and install
32+
33+
```bash
34+
git clone https://github.com/RonasIT/open-webui-react-native.git
35+
cd open-webui-react-native
36+
npm install
37+
```
38+
39+
### Run the app
40+
41+
```bash
42+
# Start the Metro bundler (development env)
43+
npx nx start mobile
44+
45+
# Or run directly on a device/emulator (from apps/mobile)
46+
npm run android
47+
npm run ios
48+
```
49+
50+
Running on a device/emulator requires a **development build**. Follow the
51+
[Expo development builds guide](https://docs.expo.dev/develop/development-builds/create-a-build/)
52+
to create one (a one-time setup), then start the bundler as above.
53+
54+
### Configure your own Expo project (for builds)
55+
56+
To create your own builds you'll need an Expo project of your own:
57+
58+
1. Create an account at [expo.dev](https://expo.dev/) and a new project.
59+
2. Note your project `slug`, `owner`, and `project ID`.
60+
3. Provide your project details via environment variables / app config used by
61+
[`apps/mobile/app.config.ts`](apps/mobile/app.config.ts) (e.g. `EXPO_PUBLIC_APP_NAME`,
62+
`EXPO_PUBLIC_APP_SLUG`, `EXPO_PUBLIC_APP_OWNER`, `EXPO_PUBLIC_PROJECT_ID`).
63+
4. For production builds, configure [`eas.json`](eas.json) following the
64+
[EAS configuration guide](https://docs.expo.dev/eas/json/).
65+
66+
### Common commands
67+
68+
```bash
69+
npm run lint # tsc + eslint
70+
npm run format # prettier + eslint --fix
71+
npx nx test mobile # run the mobile test suite
72+
```
73+
74+
See the root [CLAUDE.md](CLAUDE.md) and `README.md` for more on the monorepo architecture and library structure.
75+
76+
## Submitting a pull request
77+
78+
1. **Fork** the repository and create a feature branch off `main`.
79+
2. Make your changes, keeping commits focused and following the existing code style.
80+
3. **Run `npm run lint`** and the relevant tests — make sure everything passes.
81+
4. **Open a pull request** against `main` with a clear description of _what_ changed and _why_. Link any related issue.
82+
5. Be ready to iterate on review feedback.
83+
84+
For larger changes, please open an issue to discuss the approach first — it saves everyone time.
85+
86+
## Helpful resources
87+
88+
- 📖 [Expo development builds](https://docs.expo.dev/develop/development-builds/create-a-build/)
89+
- 📦 [EAS Build documentation](https://docs.expo.dev/build/setup/)
90+
- ⚙️ [Expo configuration reference](https://docs.expo.dev/workflow/configuration/)
91+
- 🏗️ [Nx documentation](https://nx.dev/getting-started/intro)
92+
93+
---
94+
95+
By contributing, you agree that your contributions will be licensed under the project's [GPL v3 license](LICENSE).

README.md

Lines changed: 30 additions & 162 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
1-
# Open MobileUI
2-
31
<div align="center">
42

3+
<img src="docs/images/logo.png" alt="Open MobileUI logo" width="120">
4+
5+
# Open MobileUI
6+
57
![License](https://img.shields.io/badge/license-GPL%20v3-blue.svg)
68
![Platform](https://img.shields.io/badge/platform-iOS%20%7C%20Android-lightgrey.svg)
79
![React Native](https://img.shields.io/badge/React%20Native-0.79-blue.svg)
810
![Open WebUI](https://img.shields.io/badge/Open%20WebUI-0.6.34+-green.svg)
911

1012
**Professional mobile client for Open WebUI** – Access your self-hosted AI assistant anywhere, anytime
1113

12-
[Features](#features)[Installation](#installation)[Development](#development)[Support](#support)[Privacy Policy](PRIVACY_POLICY.md)
14+
[Features](#-features)[Installation](#-installation)[Development](#️-development)[Support](#-support)[Privacy Policy](PRIVACY_POLICY.md)
15+
16+
<br>
17+
18+
<a href="https://apps.apple.com/us/app/open-mobileui/id6754266176">
19+
<img src="docs/images/app-store.png" alt="Download on the App Store" height="48">
20+
</a>
21+
&nbsp;&nbsp;
22+
<a href="https://play.google.com/store/apps/details?id=com.open.web.ui">
23+
<img src="docs/images/google-play.png" alt="Get it on Google Play" height="48">
24+
</a>
1325

1426
</div>
1527

@@ -48,7 +60,7 @@ While Open WebUI works in mobile browsers, Open MobileUI provides:
4860
-**Multi-Model Support** – Switch between different AI models seamlessly
4961
-**Chat Management** – Organize conversations with folders, search, and archive functionality
5062
-**Authentication** – Email/password and Google Sign-In support (requires additional setup)
51-
-**Secure Connections**Supports encrypted HTTPS/WSS connections to your self-hosted Open WebUI instance (use HTTPS URLs for encrypted communication)
63+
-**Secure Connections**Encrypted HTTPS/WSS connections to your self-hosted Open WebUI instance
5264

5365
### Mobile-Optimized Experience
5466

@@ -59,72 +71,26 @@ While Open WebUI works in mobile browsers, Open MobileUI provides:
5971
- 🌙 **Dark Mode** – System-aware theme support for comfortable viewing in any lighting
6072
- ⌨️ **Keyboard Optimization** – Intelligent keyboard handling and input management
6173

62-
### Enterprise Features
74+
### Coming Soon
6375

64-
- 🏢 **Self-Hosted Ready** – Connect to your private Open WebUI deployment
65-
- 🔐 **Security First** – Secure credential storage, encrypted connections, and privacy-focused architecture
66-
- 📊 **Offline Mode** – Graceful handling of network interruptions
67-
- 🔔 **Real-time Updates** – Live notifications and instant message delivery
68-
- 🌍 **Internationalization** – Multi-language support (coming soon)
76+
- 🌍 **Internationalization** – Multi-language support
77+
- 🎙️ **Voice Mode** – Hands-free voice input
6978

7079
---
7180

7281
## 🎯 Use Cases
7382

74-
### For Individuals
75-
76-
- **On-the-Go AI Assistant** – Access your personal AI assistant from anywhere
77-
- **Mobile Productivity** – Get instant answers and assistance without opening a laptop
78-
- **Privacy-Conscious Users** – Keep your conversations private with self-hosted infrastructure
79-
80-
### For Businesses
81-
82-
- **Team Collaboration** – Enable your team to access company AI assistants from mobile devices
83-
- **Field Operations** – Support remote workers and field teams with mobile AI access
84-
- **Cost Efficiency** – Leverage self-hosted infrastructure without per-user mobile app licensing fees
85-
- **Enterprise Security** – Maintain full control over data and conversations with on-premise deployment
86-
87-
### For Developers
88-
89-
- **Open Source Alternative** – Professional-grade mobile client for the Open WebUI ecosystem
90-
- **Reference Implementation** – Well-architected React Native codebase using modern best practices
91-
- **Extensible Platform** – Built with modular architecture for easy customization and extension
83+
- **Individuals** – An on-the-go AI assistant for instant answers without reaching for a laptop
84+
- **Businesses** – Mobile access to company AI assistants for teams and field workers, with no per-user app licensing fees
85+
- **Developers** – A well-architected, extensible React Native reference client for the Open WebUI ecosystem
9286

9387
## 📥 Installation
9488

95-
### Quick Start
96-
97-
Get started in minutes with pre-built releases or build from source.
98-
99-
### Option 1: Download Pre-built App (Recommended)
100-
101-
#### Android
102-
103-
1. Download the latest `.apk` file from [GitHub Releases](https://github.com/RonasIT/open-webui-react-native/releases)
104-
2. Enable "Install from Unknown Sources" in your Android device settings
105-
3. Install the APK file
106-
4. Launch the app and enter your Open WebUI instance URL
107-
108-
#### iOS
109-
110-
iOS builds are available through TestFlight or App Store (coming soon). Check [Releases](https://github.com/RonasIT/open-webui-react-native/releases) for TestFlight links.
111-
112-
### Option 2: Build from Source
113-
114-
See the [Development](#development) section below for detailed build instructions.
115-
116-
### System Requirements
117-
118-
- **Open WebUI**: active instance with accessible URL
119-
- **Android**: Android 8.0 (API level 26) or higher
120-
- **iOS**: iOS 13 or higher
121-
122-
### First-Time Setup
123-
124-
1. **Launch the App** – Open the installed application
125-
2. **Enter Server URL** – Provide your Open WebUI instance URL (e.g., `https://your-instance.com`)
126-
3. **Authenticate** – Sign in with your Open WebUI credentials (email/password)
127-
4. **Start Chatting** – You're ready to use your AI assistant on mobile!
89+
1. **Install the App** – Download Open MobileUI from the [App Store](https://apps.apple.com/us/app/open-mobileui/id6754266176) or [Google Play](https://play.google.com/store/apps/details?id=com.open.web.ui)
90+
2. **Launch the App** – Open the installed application
91+
3. **Enter Server URL** – Provide your Open WebUI instance URL (e.g., `https://your-instance.com`)
92+
4. **Authenticate** – Sign in with your Open WebUI credentials (email/password)
93+
5. **Start Chatting** – You're ready to use your AI assistant on mobile!
12894

12995
## 🛠️ Development
13096

@@ -147,105 +113,13 @@ The codebase follows a modular, scalable architecture:
147113

148114
### Building from Source
149115

150-
#### Prerequisites
151-
152-
- **Node.js** 18+ and npm
153-
- **Expo CLI**`npm install -g expo-cli`
154-
- **EAS CLI** (for builds) – `npm install -g eas-cli`
155-
- **iOS Development**: Xcode 14+ (macOS only)
156-
- **Android Development**: Android Studio with Android SDK
157-
158-
#### Step-by-Step Setup
159-
160-
1. **Clone the Repository**
161-
162-
```bash
163-
git clone https://github.com/RonasIT/open-webui-react-native.git
164-
cd open-webui-react-native
165-
```
166-
167-
2. **Install Dependencies**
168-
169-
```bash
170-
npm install
171-
```
172-
173-
3. **Configure Expo Project**
174-
175-
- Create an account at [expo.dev](https://expo.dev/) if you don't have one
176-
- Create a new project or use an existing one
177-
- Note your project details: `slug`, `owner`, `project ID`
178-
179-
4. **Configure App Settings**
180-
181-
Edit `app.config.js` (or `app.config.ts`) with your project details:
182-
183-
```javascript
184-
{
185-
name: "Your App Name",
186-
slug: "your-app-slug",
187-
owner: "your-expo-username",
188-
version: "1.0.0"
189-
// ... additional configuration
190-
}
191-
```
192-
193-
5. **Set Up EAS Build** (Optional, for production builds)
194-
195-
- Create `eas.json` following the [EAS Configuration Guide](https://docs.expo.dev/eas/json/)
196-
- Configure build profiles, app IDs, and credentials
197-
198-
6. **Start Development**
199-
200-
For development builds:
201-
202-
```bash
203-
# Create a development build first (one-time setup)
204-
# Follow: https://docs.expo.dev/develop/development-builds/create-a-build/
205-
206-
# Then start the Metro bundler
207-
npm start
208-
```
209-
210-
For production builds:
211-
212-
```bash
213-
npm run build:prod
214-
```
215-
216-
### Development Resources
217-
218-
- 📖 [Expo Development Builds Guide](https://docs.expo.dev/develop/development-builds/create-a-build/)
219-
- 📦 [EAS Build Documentation](https://docs.expo.dev/build/setup/)
220-
- ⚙️ [Expo Configuration Reference](https://docs.expo.dev/workflow/configuration/)
221-
- 🏗️ [Nx Documentation](https://nx.dev/getting-started/intro)
116+
For detailed setup instructions — prerequisites, cloning, configuring your own Expo project, and running the app — see the [Contributing guide](CONTRIBUTING.md#development-setup).
222117

223118
## 🤝 Contributing
224119

225120
We welcome and appreciate contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes this project better.
226121

227-
### How to Contribute
228-
229-
1. **Fork the Repository** – Create your own fork of the project
230-
2. **Create a Branch** – Make your changes in a feature branch
231-
3. **Follow Guidelines** – Adhere to our code style and commit conventions
232-
4. **Test Your Changes** – Ensure your changes work correctly
233-
5. **Submit a Pull Request** – Open a PR with a clear description of your changes
234-
235-
### Contribution Areas
236-
237-
- 🐛 **Bug Fixes** – Help us squash bugs and improve stability
238-
-**New Features** – Propose and implement new functionality
239-
- 📝 **Documentation** – Improve docs, add examples, or fix typos
240-
- 🎨 **UI/UX Improvements** – Enhance the user experience
241-
-**Performance** – Optimize code and improve app performance
242-
- 🌍 **Internationalization** – Add translations for new languages
243-
244-
### Getting Help
245-
246-
- 📋 **Report Issues** – Use [GitHub Issues](https://github.com/RonasIT/open-webui-react-native/issues) for bug reports
247-
- 💬 **Discussions** – Join [Open WebUI Discussions](https://github.com/open-webui/open-webui/discussions) for questions
248-
- 📧 **Contact** – Reach out to [Ronas IT](https://ronasit.com) for enterprise support
122+
See [CONTRIBUTING.md](CONTRIBUTING.md) for how to report issues, set up your development environment, and submit a pull request.
249123

250124
---
251125

@@ -275,17 +149,11 @@ For businesses requiring professional support, custom development, or enterprise
275149
### Frequently Asked Questions
276150

277151
**Q: Is this app free to use?**
278-
A: Yes! This is an open-source project released under the GNU General Public License v3 (GPL v3). You are free to use, modify, and distribute it under the terms of the GPL v3.
152+
A: Yes — it's open source under GPL v3. Commercial use is allowed; see [License](#-license) for the terms.
279153

280154
**Q: Do I need to host my own Open WebUI instance?**
281155
A: Yes, this app connects to your self-hosted Open WebUI deployment. See [Open WebUI Installation](https://docs.openwebui.com/) for setup instructions.
282156

283-
**Q: Is my data secure?**
284-
A: Absolutely. All connections are encrypted, and your data stays on your self-hosted instance. The app never stores or transmits your conversations to third parties. For detailed information about data handling, see our [Privacy Policy](PRIVACY_POLICY.md).
285-
286-
**Q: Can I use this for commercial purposes?**
287-
A: Yes, GPL v3 allows commercial use. However, if you distribute the software (or modified versions), you must also provide the source code and license your modifications under GPL v3. See the [LICENSE](LICENSE.txt) file for complete terms.
288-
289157
**Q: How do I report a security vulnerability?**
290158
A: Please email security concerns directly to our team through [Ronas IT](https://ronasit.com) rather than opening a public issue.
291159

0 commit comments

Comments
 (0)