Skip to content

AndrasE/usapp

Repository files navigation

Realtime android react-native chat-app
with theme and text-size settings, lottie animations,
push notifications and much more..

After investing some time in learning react-native, watching countless hours of tutorials, I managed to create this fully functional android chat-app using react native CLI. Feel free to install it and try it out. At the root of the project, you will find us-app-debug.apk which you can install on your android device (you will need to enable 3rd-party installation). Feel free to hit me up of you would like to chat, search for user "rohadtsajt" in the app. 😊

Here are a few tutorials I found extremly useful:
React-native navigation, Lottie & splash, React-native firebase signin 1, React-native firebase signin 2, React-native firebase signin 3, Theming, Asyncstorage, Gifted-chat 1, Gifted-chat 2, Push notifications 1, Push notifications 2

Packadges used:

  • react-native firebase responseible for authentication, authentication-session and connecting real-time database
  • react-native-google-signin social authentication via gmail using react-native firebase
  • lottie-react-native lottie animations
  • react-native reanimated fade-in animations
  • react-native-async-storage saving users theme and text-size settings locally
  • react-native-modal pop-up windows
  • react-native-switch-selector tri-state button selecting theme and text settings
  • react-native-linear-gradient linear-gradient backgrounds and buttons combined w theming
  • react-native-vector-icons some icons svgs
  • react-native-gifted-chat complete chat ui
  • react-native-onesignal push notification and in-app message service for mobile apps
  • react-native-axios for api calls to Onesignal / sending cloud messages
  • moment.js formating dates
  • The app built with react-native-CLI instead of Expo for the reason that I an in-app authentication wihtout a browiser redirect.
    If you would like to read more about this project, install the app and head over to the about sections or access the content here.

    Run 🚀

    These instructions will get you a copy of the project up and running on a virtual or physical android device. Either install android studio and have a virtual machine and/or have a device where debugging through usb enabled.

    Start with cloning this repo on your local machine via cli or github-desktop:

    $ git clone https://github.com/AndrasE/usapp
    $ cd PROJECTNAME

    To install and set up the library, run:

    $ npm i

    Get SHA certificate fingerprint keys:

    $ cd android && ./gradlew signingReport

    Create a firebase android app with authentication and a real-time database. You may need to go to console.cloud.google.com to enable authentication. (firebase should auto-create it, but not 100% will happen):

    insert SHA keys above

    Add Firebase to your Android project:

    Add Firebase to your Android project

    Create a free OneSingal account. Get onesignal-id and onesignal-barer from app/settings:
    look for OneSignal App ID & Rest API Key

    Add your own credentials:

    $ cd PROJECTNAME && touch .env
    setup and insert your own API keys

    Serving the app:

    $ npx react-native start

    For building your own version of the apk follow these steps:

    React Native Generate Debug and Release APK