React Native Hello Talk
Clone App for Hello Talk.
Want to see it in action? check out this youtube video.
Getting Started
This project is using boilterplate.
If you're trying to setup expo
+ typescript
+ jest
, then you should check it out.
-
This app uses
firebase
. Check this link. -
We need
app.json
. Makeapp.json
file under root directory. You can useextra
field like below to keepfirebase secrets
.
{
"expo": {
"name": "react-native-hello-talk",
"description": "A very interesting project.",
"privacy": "public",
"sdkVersion": "31.0.0",
"platforms": ["ios", "android"],
"version": "1.0.0",
"orientation": "default",
"icon": "./assets/images/icon.png",
"splash": {
"image": "./assets/images/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": ["**/*"],
"ios": {
"supportsTablet": true
},
"extra": {
"firebaseConfig": {
"apiKey": "apiKey",
"authDomain": "authDomain",
"projectId": "projectId",
"storageBucket": "storageBucket",
"messagingSenderId": "messagingSenderId",
"databaseURL": "databaseURL"
}
}
}
}
// how to use Constants in js file
// reference: https://docs.expo.io/versions/latest/sdk/constants
import { Constants } from 'expo'
Constants.extra.projectId === 'rn-hello-talk' // use extra field like this!
Features
-
Auth
-
login using googleOAuth
-
additional register flow
-
-
Chat
-
create new chat
-
list chats belonging to the user
-
send pictures
-
find people to talk to
-
add user online status
-
-
Profile
-
edit profile (description, etc)
-
logout
-
-
Etc
-
splash screen
-
push notification
-
test coverage >= 60%
-