All Projects → Vivify-Ideas → Expo Boilerplate

Vivify-Ideas / Expo Boilerplate

React Native/Expo starting boilerplate with basic features (auth, tabs, i18n, redux, validation, notifications)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Expo Boilerplate

Expo Native Firebase
🔥 Native Firebase Expo App (iOS, Android) Demo for Firestore, Notifications, Analytics, Storage, Messaging, Database 🚨
Stars: ✭ 197 (+123.86%)
Mutual labels:  expo, boilerplate
Ignite
Infinite Red's cutting edge React Native project boilerplate, along with a CLI, component/model generators, and more!
Stars: ✭ 13,296 (+15009.09%)
Mutual labels:  expo, boilerplate
React Native Boilerplate
A React Native boilerplate with Expo, Redux, React Navigation, Styled Components and some 💕 included.
Stars: ✭ 135 (+53.41%)
Mutual labels:  expo, boilerplate
Expo Three Demo
🍎👩‍🏫 Collection of Demos for THREE.js in Expo!
Stars: ✭ 76 (-13.64%)
Mutual labels:  expo, boilerplate
Boilr
⚡️ boilerplate template manager that generates files or directories from template repositories
Stars: ✭ 1,268 (+1340.91%)
Mutual labels:  boilerplate
React Ssr Boilerplate
A boilerplate for server-side rendered React Applications. Includes local auth and GitHub Oauth 2 strategies.
Stars: ✭ 85 (-3.41%)
Mutual labels:  boilerplate
Angular Full Stack
Angular Full Stack project built using Angular, Express, Mongoose and Node. Whole stack in TypeScript.
Stars: ✭ 1,261 (+1332.95%)
Mutual labels:  boilerplate
React Express Webpack
React boilerplate with ES2015, Express.js, and Webpack 4
Stars: ✭ 84 (-4.55%)
Mutual labels:  boilerplate
Cra Boilerplate
Up to date: This project is an Create React App - v2.1.1 boilerplate with integration of Redux, React Router, Redux thunk & Reactstrap(Bootstrap v4)
Stars: ✭ 87 (-1.14%)
Mutual labels:  boilerplate
Promotion
ProMotion is a RubyMotion gem that makes iPhone development less like Objective-C and more like Ruby. Star this repo to keep tabs on our progress!
Stars: ✭ 1,274 (+1347.73%)
Mutual labels:  boilerplate
Nodejs Starter
Nodejs Starter - Open-Source Javascript Boilerplate | AppSeed
Stars: ✭ 86 (-2.27%)
Mutual labels:  boilerplate
The Ultimate Boilerplate
webpack 2, react hotloader 3, react router v4, code splitting and more
Stars: ✭ 85 (-3.41%)
Mutual labels:  boilerplate
Re Start
react-native template to target multiple platforms 🌐 📱 💻 with single codebase.
Stars: ✭ 1,272 (+1345.45%)
Mutual labels:  boilerplate
Preact Redux Isomorphic
preact-redux-isomorphic PWA SPA SSR best practices and libraries in under 80kB page size (for live demo click the link below)
Stars: ✭ 85 (-3.41%)
Mutual labels:  boilerplate
React Boilerplate
Boilerplate for React Apps
Stars: ✭ 87 (-1.14%)
Mutual labels:  boilerplate
Project
⭐️ Antares Project Application Skeleton. This is the very first place you should start. It allows you to create a brand new awesome project in easy few steps.
Stars: ✭ 84 (-4.55%)
Mutual labels:  boilerplate
Nest Hackathon Starter
Hackathon starter project for NestJS. Includes TypeORM, email verification, Passport-JWT authentication, Swagger and more
Stars: ✭ 86 (-2.27%)
Mutual labels:  boilerplate
Rails React Boilerplate
Ruby on Rails, React, Webpack 4 boilerplate app.
Stars: ✭ 86 (-2.27%)
Mutual labels:  boilerplate
Tailwind Boilerplate
Tailwind CSS + Vite Boilerplate
Stars: ✭ 86 (-2.27%)
Mutual labels:  boilerplate
Easypermissions Android
A simple library that will remove all the boilerplate code and speed up your work with new Runtime Permissions introduced in Android M.
Stars: ✭ 85 (-3.41%)
Mutual labels:  boilerplate

VivifyIdeas Expo boilerplate

Expo SDK version: 40.0.0

If you are using our Expo boilerplate we recommend you use it with our laravel boilerplate.

Built in functions

  • Redux & Saga
  • Formik & Yup
  • Immerjs
  • Sign in
  • Sign up
  • Facebook sign in
  • Google sign in
  • Forgot & reset password
  • Internationalization
  • Deeplinking
  • Global Error Modal ( Something went wrong )
  • Edit profile
  • Change password
  • Push and inapp notifications

TBD

  • Sockets
  • Chat

Code structure and technologies

For our forms we use Formik, and for validation we use Yup.

In components folder there are some examples of our forms, they all use custom text inputs which are located in FormFields.js, and in validation folder you will find some Yup validation examples.

├── components
├──── auth
├──── shared
├─────── FormFields.js
└── validation

For state management we use React Redux with Redux Saga and Reselect.

├── store
├──── feature
├────── actions
├────── actionTypes
├────── index.js
├────── reducer
├────── selectors
└────── sagas

For localization we have $t wrapper around I18n-js library.

To use it all you need to do is:

import $t from 'i18n';

$t('common.ok');

For notifications we use expo notifications. Their setup is located in NetworkInterceptor.js. Since the iOS doesnt support inapp notifications, we use React Native In App Notifications.

All handling of notifications is done in NotificationHandleService.js. It has two main methods, showInApp which will trigger the In App Notification to be shown, and handleOnClick which handles the logic when you click on notification.

The whole application is wrapped in InAppNotificationProvider which, as props takes styles for In APp notifications you can see them all here.

Going to production

Before you can publish the application there are a few things that you need to do in app.json file.

iOS

You will need to set your bundleIdentifier, usually it looks something like this com.yoursite.applicationame. Next is buildNumber it usualy starts from 1, but each time you republish your application you need to increase this number. After that you have infoPlist which can contain messages which will be displayed when application asks you for some permissions, more about it can be found on this link. And last but not least, associatedDomains, they are used for universal linking, so that application knows which links to intercept and to open in the application, e.g. reset password link, You can read more about it here.

Android

As for android, you have package which is same as bundleIdentifier on iOS. Next to that there are permissions, you will need to specifiy all permissions that your application needs, for example Camera or Location, you can find all the examples for it here. Lastly you need to setup your intentFilters which have the same function as associatedDomains for iOS. Heres an example how they should look:

    "intentFilters": [
     {
       "action": "VIEW",
       "data": {
         "scheme": "https",
         "host": "*.myapp.io"
       },
       "category": [
         "BROWSABLE",
         "DEFAULT"
       ]
     }
   ]

More about app.json configuration can be found here.

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].