React Native iOS chat and social network application example for Expo.
Если вы работодатель и хотите проверить приложение на работоспособность, скачайте Expo и перейдите по ссылке на бандл проекта.
Skip this step if you don't want to use your custom backend. In other case you should start a Firebase project using these Google products:
Then deploy Meowchat Firebase Cloud Functions. Apply your settings by modifying .firebaserc
:
{
"projects": {
"default": "YOUR_FIREBASE_PROJECT_NAME"
}
}
Set your config.js according to your project:
export const appName = 'YOUR_FIREBASE_PROJECT_NAME'
export const facebookAppId = 'YOUR_FACEBOOK_APP_ID'
export const googleClientId = 'YOUR_GOOGLE_CLIENT_ID'
export const apiKey = 'YOUR_API_KEY'
export const messagingSenderId = 'YOUR_MESSAGING_SENDER_ID'
export const config = {
apiKey,
authDomain: `${appName}.firebaseapp.com`,
databaseURL: `https://${appName}.firebaseio.com`,
projectId: appName,
storageBucket: `gs://${appName}.appspot.com`,
messagingSenderId
}
Meowchat is a React Native Expo project. You should use Expo to compile your app. Follow the instructions on Expo.
Some features of Meowchat.
Simple user creating.
All fields are validated.
Creating user or signing in via OAuth 2.0.
There is no such behavior in React Native to reveal password, so I did it myself.
If you're signing out all cached data will be wiped out. Apropos, you can see the presence watcher working there.
If user has no chat with other user new chat will be created, but nobody will see that.
Simple chatting. New message raises chat to the top of the list, even if it's from user you have no chat with. Delivery status implemented.
Chats are loading by last message order.
Swipeable rows deliver some good options.
Location stored on Firebase as an object of a coordinates
You can extract your location from address
Likes screen. Refreshing with each interaction. Posts and likes realtime update are disabled for performance reasons.
You can navigate to posts that user created or liked. User screen refreshes user data. So the user information will be always up-to-date.
Works even if you close your app.
Fetched info stored on your device. When you open Meowchat next time, you'll see last state you had before closing.
You can surf deep inside the app and all your navigation history will be saved until you close Meowchat.
Navigation screens are independent. That means you can open same chats due to deep navigation and that will not break your navigation history.