Welcome to the world of the Okuna mobile app! If you’re ready to dive into app development using this innovative platform, you’re in the right place. This article will walk you through everything you need to know to get started, troubleshoot common issues, and contribute to this exciting project.
Table of Contents
Requirements
Project Overview
The Okuna mobile app is a vibrant Flutter application that intersects with the robust okuna-api backend. Think of the app as a bridge connecting your device and the data stored in the cloud!
Contributing
Everyone can contribute to the crafts of Okuna development, just find the role that best suits your skills and jump in! Here are some examples of contributions we appreciate:
- Code patches
- Bug reports
- Patch reviews
- Translations
- UI enhancements
Code of Conduct
Please read and adhere to our Code of Conduct.
License
All contributions accepted are licensed under MIT or any later version. Please ensure your contributions comply with these licensing terms by reading our license documentation.
Other Issues
Have questions? We’re available almost around the clock in the Okuna Slack channel. Join us!
Git Commit Message Conventions
Help us maintain a clean repository history! We use gitmoji for our git message conventions.
Getting Started
Ready to create something amazing? Follow these steps:
1. Install the okuna-api backend
Check out the instructions here to get the server up and running.
2. Install Flutter
Go to the Flutter Install website and follow the installation guidelines. Once complete, verify everything with the command: flutter doctor.
3. Clone the Repository
sh
git clone git@github.com:OkunaOrg/okuna-app.git
cd okuna-app
4. Create the env.json File
We utilize a .env.json file for environment variables like the backend endpoint. Create a copy of .sample.env.json and rename it to .env.json:
bash
cp .sample.env.json .env.json
Edit the .env.json file with your settings:
- API_URL: Mandatory; fill in the URL of the okuna-api backend.
- MAGIC_HEADER_NAME: Optional; specify a custom header name.
- MAGIC_HEADER_VALUE: Optional; specify the header value.
5. Configure a Signing Key (Android only step)
To create a keystore, run the command below. If you already have one, skip to the next step:
bash
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
Then, create a file named key.properties in the app directory that references your keystore:
properties
storePassword=password from previous step
keyPassword=password from previous step
keyAlias=your_key_alias
keystoreFile=location_of_key_store_file
6. Open the iOS/Android Simulator or Connect a Device
Follow these steps to launch either the iOS or Android simulator:
- iOS Simulator: Open Xcode and navigate to Developer Tool – iOS Simulator.
- Android Simulator: Launch Android Studio, select Tools – AVD Manager. Create a virtual device if necessary.
7. Run the Flutter App
Use the following commands based on your environment:
- Development Flavor:
bash flutter run --flavor development
- Production Flavor:
bash flutter run --flavor production
8. Build for Production
- To build an Android APK:
bash
flutter build appbundle --target-platform android-arm,android-arm64
bash
flutter build ios
9. Troubleshooting
If you encounter issues, don’t hesitate to reach out for help. We recommend checking the following:
- Your Flutter and Okuna setup are correctly configured.
- You’ve followed the installation steps closely.
- The backend server is running correctly.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
Happy coding!