Don’t waste time setting up project, required libraries, linters, and development workflows. Everything you need is included: useful libraries, automated build and submission, GitHub workflows for teamwork, automatic versionning and changelog. Read more below.
Just push to the production branch and wait notification in 10-15 minutes that release is available for testing.
production/ios and production/android branches;Don’t worry about maintaining the code style.
Just push to the main branch to create a new release, increment version and generate changelog based on commit
messages.
assets - static assets
src - app sources
src/app - non-UI app part
src/app/api - APIs
src/app/common - helpers
src/app/interfaces - interfaces that describe data structures
src/app/middlewares - redux toolkit middlewares
src/app/slices - redux toolkit slices
src/app/store.ts - add your slices, reducers, middlewares here
src/app/theme.ts - global theme variables like colors, sizes, component styles
src/components - common app components
src/components/ui - common reusable small UI components
src/core - project-independent part of code that can be used in other projects
src/core/api - base HTTP queries
src/core/hooks - common hooks for logic reuse
src/core/store.ts - redux store configuration
src/hooks - common app hooks for logic reuse
src/screens - one folder per screen
src/app.ts - entrypoint
src/navigation.ts - screens definitions
npm inpm start
After installing dependencies you’ll see .env file in the root of project. Feel free to change it.
After quick start you may want to create an Expo project and set up a development workflow.
eas-cli and logged in:
npm i -g eas-clieas loginapp.json file with correct values:
expo.name — your app’s name;expo.slug — app’s slug ;eas initNow your project is linked to the Expo project.
app.json file with these values:
expo.ios.bundleIdentifier — change it like in App Store Connect;expo.android.package — change it like in Google Play;eas.json file these values:
build.base.env.EXPO_PUBLIC_BASE_URL — this endpoint will be used for RTK base query;submit.production.ios — change these values for automated submissions;package.json file — set name of your project;EXPO_TOKEN secret in project settings on GitHub;npm run expo-build-iosnpm run expo-submit-iosGOOGLE_SERVICE_ACCOUNT_KEY with base64-encoded contents of the json file;npm run expo-build-android.aab file from the Expo console and manually make first submission https://github.com/expo/fyi/blob/main/first-android-submission.mdproduction/ios, production/android, production/all