Hello, I would like to have a simple mobile app built using react-native. I'll explain the functionality in a bit but first here are the non-functional requirements: the app
- Must run on both android and iphone.
- Must be built in react-native.
- Must not include any proprietary libraries--all open source Apache or MIT license
- Must be well written (proper documentation, indentation, etc..).
- Must compile/build on Android studio for Android and XCode for iphone.
- Must use BLE as the underlying protocol.
At a very high level, the app enables two mobile clients to exchange text, images, and videos. It's a simple 1 on 1 exchange between two mobile clients. It differs from chat clients like whatsapp and other in that it does not require a server, instead it uses BLE to enable clients to exchange messages, images, or videos..
- mobile clients must be able to discover all other mobile clients within BLE range.
- for each client discovered, app must list the name/nickname of the user, the user pic (if any), and greeting (if any). please refer to "[login to view URL]"
- once a user record is selected from the list, user details are displayed, including name/nickname, pictures (if any), and any info they would like to share. info about user's details is requested from the client where that user is logged in. please refer to "[login to view URL]".
- once in user_details_screen, a user can either ping another by pressing on "Ping me" button, or move to previous screen "nearby_users_list_screen" by pressing on "Forget it".
- Once user clicks on "Ping me", " user_chat_screen" is opened and the 2 users can start chatting with each other. chat screen is similar to any chat known/traditional chat screens with bubbles on left and right depending on which user is sending a message. please refer to "[login to view URL]".