{"id":20859165,"url":"https://github.com/bearstudio/start-ui-native","last_synced_at":"2025-04-04T17:05:26.797Z","repository":{"id":37384704,"uuid":"331296372","full_name":"BearStudio/start-ui-native","owner":"BearStudio","description":"🚀 Start UI [native] is an opinionated UI starter with ⚛️ React Native, 🌿 Ficus UI, ⚛️ Zodios \u0026 🐜 Formiz — From the 🐻 BearStudio Team","archived":false,"fork":false,"pushed_at":"2025-01-29T13:11:02.000Z","size":7683,"stargazers_count":152,"open_issues_count":4,"forks_count":17,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-28T16:06:24.873Z","etag":null,"topics":["ficus-ui","formiz","hacktoberfest","react-native","reactjs","tanstack-query","typescript","zodios"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BearStudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-20T12:12:59.000Z","updated_at":"2025-03-27T16:46:52.000Z","dependencies_parsed_at":"2024-02-03T00:29:39.172Z","dependency_job_id":"5088e173-4f01-4826-8d2a-4380845adf08","html_url":"https://github.com/BearStudio/start-ui-native","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-ui-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-ui-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-ui-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-ui-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BearStudio","download_url":"https://codeload.github.com/BearStudio/start-ui-native/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217174,"owners_count":20903008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ficus-ui","formiz","hacktoberfest","react-native","reactjs","tanstack-query","typescript","zodios"],"created_at":"2024-11-18T04:48:49.809Z","updated_at":"2025-04-04T17:05:26.773Z","avatar_url":"https://github.com/BearStudio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cimg src=\"assets/thumbnail.png\" alt=\"Start UI Native\" /\u003e\u003c/h1\u003e\n\n🚀 Start UI [native] is a opinionated [Expo](https://expo.dev/) starter repository created \u0026 maintained by the [BearStudio Team](https://www.bearstudio.fr/team) and other contributors.\nIt represents our team's up-to-date stack that we use when creating React Native apps for our clients.\n\nThis starter is oriented to use Expo with Expo EAS features to have full access to native code.\n\nStartUI [native] needs [StartUI web](https://github.com/BearStudio/start-ui-web) v2 as API in order to work correctly.  \nMake sure to have a local/deployed installation of StartUI [web] v2 before using StartUI [native].\n\n---\n\n## Technology\n\n- 🚀 [Expo SDK 52](https://expo.dev/)\n- 📱 [Expo EAS](https://expo.dev/eas)\n- ⚛️ [Expo Router 4](https://expo.github.io/router/docs/)\n- 🌿 [Ficus UI](https://ficus-ui.com/)\n- 🐜 [Formiz](https://formiz-react.com/)\n- ↔ [Zodios](https://www.zodios.org/)\n\n---\n\n## Getting Started\n\n### Prerequisites\n\nThis app is using Expo Go with [Expo development builds](https://docs.expo.dev/workflow/overview/#development-builds). In order to launch the app, you will need to install android and ios tooling:\n\n#### Android\n\nSee https://reactnative.dev/docs/environment-setup?guide=native\u0026platform=android\n\n#### iOS\n\nSee https://reactnative.dev/docs/environment-setup?guide=native\u0026platform=ios\n\n### Update .env values\n\nPut your env values on .env file. Environment variables inserted on your local machine or on Expo EAS platform will overwrite the variables of .env file.\n\n```bash\n# Env var used to call api endpoints — generally it will be your start-ui-web api url\nAPI_URL='your api url here'\n\n# Env var used to get the open api file, used to generate zodios client\nOPEN_API_URL='your open api api url here'\n```\n\n### Example demo\n```env\nAPI_URL=https://demo.start-ui.com/api/rest\nOPEN_API_URL=https://demo.start-ui.com/api/openapi.json\n```\n\n### Installation\n\n```bash\n# Install dependencies and generate api client\npnpm install\n\n# Then, choose based on the platform you want to dev on:\npnpm android # Launch on your android device if detected, or an Android emulator\npnpm ios     # Launch on your iOS device if detected, or an iOS emulator\n```\n\n### Development\n\n```bash\n# Install dependencies and generate api client\npnpm install\n\n# With Expo Go\npnpm dev\n# * press s to swith to Expo Go\n# * scan the QR Code with your phone\n\n# With Android Emulator\npnpm android # Launch on your android device if detected, or an Android emulator\n\n# With IOS Emulator\npnpm ios     # Launch on your iOS device if detected, or an iOS emulator\n# If that doesn't work maybe try to:\n# * run pod install on ios folder\n# * run project from xcode (maybe you should select a team for the project)\n```\n\n## Storybook Integration\n\nStart UI Native is equipped with Storybook, enhancing component development with an isolated and interactive environment. Storybook is essential for UI development, allowing you to build and test components independently from the app's main user interface.\n\n### Running Storybook\n\nExecute the command below to launch Storybook. It toggles an environment variable `process.env.STORYBOOK_ENABLED` to `true`, activating Storybook mode.\n\n```bash\npnpm storybook\n```\n\nConversely, starting your app normally will **not set** `process.env.STORYBOOK_ENABLED`, which means the app will not enter Storybook mode.\n\n```bash\npnpm start\n```\n\n### Developing with Storybook\n\nInstead of a separate `stories` directory, we create stories alongside our components. For each component, create a `ComponentName.stories.tsx` file in the same directory as the component. Write your stories within this file to showcase and test the different states and props of the component. This approach keeps relevant stories and components tightly coupled and easily maintainable.\n\n\n## [Expo EAS builds](https://docs.expo.dev/build/introduction/)\n\n\u003e EAS Build is a hosted service for building app binaries for your Expo and React Native projects.\n\n[Follow the steps here to setup and install the eas cli](https://docs.expo.dev/build/setup/#prerequisites).\n\n\n### BLE / Bluetooth\n\nBluetooth feature has been removed to simplify expo project setup.\n\nIf you want to use this feature, you can find [an expo article](https://expo.dev/blog/how-to-build-a-bluetooth-low-energy-powered-expo-app) that explains how to add it, or you can check the deletion commit of the feature [here](https://github.com/BearStudio/start-ui-native/pull/111/commits/a8d437fff1065f1450113b71a4bd962868f8b4be)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearstudio%2Fstart-ui-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearstudio%2Fstart-ui-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearstudio%2Fstart-ui-native/lists"}