All Projects β†’ BearStudio β†’ start-ui-native

BearStudio / start-ui-native

Licence: other
πŸš€ Start UI [native] is an opinionated UI starter with βš›οΈ React Native, β¬’ Native Base 3, βš›οΈ React Query & 🐜 Formiz β€” From the 🐻 BearStudio Team

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
java
68154 projects - #9 most used programming language
C++
36643 projects - #6 most used programming language
Objective-C++
1391 projects
shell
77523 projects

Projects that are alternatives of or similar to start-ui-native

2021-nolto
뢀담없이 μžλž‘ν•˜λŠ” μž‘κ³  μ†Œμ€‘ν•œ λ‚΄ ν”„λ‘œμ νŠΈ 🧸✨
Stars: ✭ 34 (-45.16%)
Mutual labels:  react-query
ndaify-web
NDAify helps you keep your trade secrets under wraps πŸ”’
Stars: ✭ 33 (-46.77%)
Mutual labels:  react-query
fullstack-nextjs-ecommerce
Fullstack Next.js E-Commerce made with NextAuth + Prisma, Docker + TypeScript + React Query + Stripe + Tailwind Sentry and much more πŸ›’
Stars: ✭ 524 (+745.16%)
Mutual labels:  react-query
Electrode
Web applications with node.js and React
Stars: ✭ 2,033 (+3179.03%)
Mutual labels:  react-query
PhoneInput
React Native component for international phone input with country phone code and flag.
Stars: ✭ 27 (-56.45%)
Mutual labels:  native-base
kein-instagram
Instagram UI with React Native using Native Base UI kit
Stars: ✭ 14 (-77.42%)
Mutual labels:  native-base
tmdb-viewer
A movie browsing/favoriting app
Stars: ✭ 63 (+1.61%)
Mutual labels:  react-query
SocialApp-React-Native
Social Networking mobile app similar to Instagram in React Native.
Stars: ✭ 79 (+27.42%)
Mutual labels:  native-base
react-native-boilerplate
React Native boilerplate with react-navigation and native-base
Stars: ✭ 15 (-75.81%)
Mutual labels:  native-base
2021-pick-git
πŸ’» Github Repo 기반 개발 μž₯λ € SNS
Stars: ✭ 125 (+101.61%)
Mutual labels:  react-query
mobile-realm
mobile-realm
Stars: ✭ 21 (-66.13%)
Mutual labels:  native-base
yunle-template-react-native
yunle-cli 前端开发樑板- RN δΈ“δΈΊreact-native开发 IOS&Android APP
Stars: ✭ 14 (-77.42%)
Mutual labels:  native-base
hacker-news-client
Clone of Hacker News with modern design
Stars: ✭ 32 (-48.39%)
Mutual labels:  react-query
expansion-pack
πŸ”‹ Useful stack expansion for ts-nextjs-tailwind-starter
Stars: ✭ 16 (-74.19%)
Mutual labels:  react-query
coderplex-org
Official Website for Coderplex Community. Built with Next.js and deployed on Vercel.
Stars: ✭ 32 (-48.39%)
Mutual labels:  react-query
use-mutation
🧬 Run side-effects safely in React
Stars: ✭ 81 (+30.65%)
Mutual labels:  react-query
react-native-template
An opinionated template to bootstrap your next React Native app with all the time-wasting packages you need to have.
Stars: ✭ 132 (+112.9%)
Mutual labels:  react-query
next-saas
Rapid development of SaaS products with Next.js
Stars: ✭ 39 (-37.1%)
Mutual labels:  react-query
github-jobs-client
Clone of GitHub Jobs website using the design from Frontend Mentor.
Stars: ✭ 22 (-64.52%)
Mutual labels:  react-query
react-query-autosync
A react hook which lets you automatically synchronize a value to a server with react-query
Stars: ✭ 35 (-43.55%)
Mutual labels:  react-query

Start UI Native

πŸš€ Start UI [native] is a opinionated React Native starter repository created & maintained by the BearStudio Team and other contributors. It represents our team's up-to-date stack that we use when creating React Native apps for our clients.

start_ui_native_login start_ui_native_home start_ui_native_profile start_ui_native_profile_edit

Getting Started

npx create-start-ui --native myApp

That will scaffold a new folder with the latest version of πŸš€ Start UI [native] πŸŽ‰

Then just go to the created folder cd myApp and follow the Installation Guide.


Technology

ℹ️ API calls are mapped on a jHipster backend application.

ℹ️ The project is started with a Mirage JS server API, that allows to mock the calls in local. Like this, you don't need your API to be ready to start development on your mobile application.


Installation

  1. Install project dependencies
yarn install
  1. Set up your local environment config

    1. Copy the environments/dev/config.js in the environments/local folder
    2. Replace the ENV: ENVS.DEV, line with ENV: ENVS.LOCAL, within the environments/local/config.js file.
    3. Run the yarn set:env:local command.
  2. Then follow the Android Installation Guide or iOS Installation Guide.


Android

Android Installation

  1. Follow the "Installing dependencies" of React Native CLI Quickstart for Android

Android Development

  1. Run the development server
yarn dev
  1. In another terminal
yarn android

Android Release

Generate keystore

The first time you will release your app, you will need to generate a keystore

./scripts/generate-android-certificate.sh

And then, follow the instructions.

Then, you need to update the RELEASE_KEY_STORE_PASSWORD and RELEASE_KEY_PASSWORD into the android/gradle.properties file.

You should not keep this in the git history. Use a password manager or other secured solution to keep this file. ⚠️ DO NOT LOOSE IT. YOU WILL NOT BE ABLE TO RELEASE YOUR APP.

Generate Bundle file for releases on Play Store

We are using Android App Bundle on this project. This is a new and more efficient way to package an Android application.

Based on the environment that you need to target run one of the following command:

yarn android:bundle:dev
# or
yarn android:bundle:staging
# or
yarn android:bundle:prod

The Bundle file will be available at android/app/build/outputs/bundle/release/app.aab

⚠️ You can test the release application with the APK version (next section) on your device before uploading the bundle file on the Play Store (Especially for production release).

Generate APK for testing release on device

If you want to generate the release APK for testing the release configuration on your device before sending the bundle to the PlayStore, you can use one of the following commands based on the target environment:

yarn android:build:dev
# or
yarn android:build:staging
# or
yarn android:build:prod

The APK will be available at android/app/build/outputs/apk/release/app-release.apk and will be installed on your connected device.


iOS

For iOS development you need to be on a Apple computer with macOS.

iOS Installation

  1. Follow the "Installing dependencies" of React Native CLI Quickstart for iOS

For Apple chips (M1) also run the following command

sudo arch -x86_64 gem install ffi
  1. Install pods
Processor type Command line
Intel chip yarn ios:install:intel
Apple chip (M1) yarn ios:install:arm

iOS Development

  1. Run the development server
yarn dev
  1. In another terminal
yarn ios:open

This will open the project in Xcode.

  1. Click on the "Play" button on Xcode.

iOS Release

  1. Setup your targeted environment
yarn set:env:dev
# or
yarn set:env:staging
# or
yarn set:env:prod
  1. Open Xcode
yarn ios:open
  1. Follow the Publishing to Apple App Store documentation.

Important note about Info.plist

With the evolutions on the project, if you need to update Info.plist, please update all Info.plist in all ios subfolders.


Environments

Environments variables are managed thanks to the subfolders in the environments folder:

  • local: Your local environment, when developing on your computer
  • dev: For your app internal testing
  • staging: For your app alpha/beta/testflight testing
  • production: For your production app release on the stores

This approche allows us to have dependent environment files, like Firebase configurations (google-services.json and GoogleService-Info.plist), that will be copied when you'll release, which is not possible with react-native-dotenv for instance.

You can switch environment with one of the following commands:

yarn set:env:local
# or
yarn set:env:dev
# or
yarn set:env:staging
# or
yarn set:env:prod

Devtools

We provide some devtools that can be accessed from the dev menu. You can open it by typing d on the yarn dev console.

You will find the following tools:

  • Storybook
  • Network helper

Updating the Application Name

When you need to update the application name and to remove "Start UI Native" references, please use this library:

react-native-rename

npx react-native-rename "My Amazing App"

Updating the Application Icons

Application Icons for Android

You can use Launcher icon generator online tool to generate the icon files for Android:

Download and extract the .zip file it into android/app/src/main/res/ folder.

Application Icons for iOS

For iOS, you can use Icon Set Creator for MacOS.

https://appicon.co/ online tool.

And then, import these images into a new image assets into xcode. You can follow this tutorial for example.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].