A slack project of mine using React Native.
The first exciting thing about this project is exploring React Native, and Styled Components. The second exciting thing about this project is exploring more Realtime behaviours, to find potential for increasing engagement in SI longer-term.
- The app presents a list of notifications relevant to the logged in user
- These notifications will be filtered to only show 'X_COMMENTED_ON_SOME_ENTITY_IN_SI'
- User can click that notification and see the Entity Preview, as well as the comments underneath
- The user can CRUD comments as well as Like/Unlike the entity itself
- Updates on the entity will be shown in realtime
I used the Expo SDK for local dev. Here you can set up a boilerplate project that includes Tabbed Navigation. Most of the boilerplate is removed but still some is in there for reference.
- Clone this repository
- Download the Expo XDE SDK. This is the software the runs the local development server / packager for React Native.
- Open the source project in your favourite IDE, and be sure to have Prettier installed / running before committing. There is a
.prettierrc
file that contains the config.
When running Expo XDE, you need to have the following settings:
- Development Mode should be checked
- Protocol should be
exp://
- Host should be Localhost when using the iOS / Android Simulators, and LAN when testing with physical devices.*
- Note: When testing on a remote device, you'll need to add your dev system's IP address to the praisemanager whitelist. This isn't great but it's all we can do at the monet (See below under 'Push Notifications').
We have whitelisted exp://localhost:19000")
to be allowed to request an Auth token from our server. *In order to achieve basic dev auth, you must
-
Please note: Push Notifications will not work using the iOS / Android simulators. They need to run on a physical device Because of this (and because
localhost
means nothing to an external device), the development build will be accessed via the IP address of your computer. Thus, the device will need to be on the same LAN as the computer. -
The Praisemanager server needs to whitelist your IP
.add("exp://192.168.x.x:19000")