Expo/React Native & Google Cloud Senior Engineers for a Big Project

Job ID: 35076336

Budget: $800 – $1,800 USD

This is a whole new real project, Meaning a lot of work to be expected, Please read the full description.

_____________________________________________________
Main stack:
- Expo/React Native.
- Firebase/Google Cloud.
- Test-Driven Development.
_____________________________________________________

Basic Application description/flow:

It's a cross-platform web & mobile app that allow students to find teachers to meet in an in-app virtual interactive classroom. (virtual classrooms technology will be provided, e.g. agora.io API)

- The app should be well tested in both iOS and Android.

- It allow both tutors and students to register and login (by phone number using firebase auth)

- A student can select the subject/material he wants to learn and submit a tutoring request (specifying the desired date and time)

- Teachers who can teach the request's subject will receive a push notification telling them that there is someone they can teach for some

- In the student's UI, Tutoring requests (either done, awaiting for a teacher to respond or cancelled by the student) are saved in a page/screen

- a teacher can open the available teaching opportunities page/screen and send their offer ($/hr)

- The student accepts the offer and pay using credit card, PayPal or Apple pay

- the approved request is saved in a "upcoming sessions" page/screen in both the teacher's and student's UI

- When the agreed upon time comes (and one hour before), a push notification appears to both parties telling them it's time for the session

- The teacher and the student join an in-app virtual classroom using https://www.agora.io/

- after the session complete:
- the student and the teacher can rate each other
- the student can re-book the teacher in a quick way (like a modal ?)

- the teacher is saved in a "previous teachers" screen in the student's UI

- the student is saved in a "previous students" screen in the teacher's UI

- the app should support RTL and LTR localization (Arabic and English), We will provide the corresponding translation for Arabic, There should be an external config file to easily configure the translations.

- Live chat support (through an API)

Above is the bare bone basic functionality of the app, Intuitive other features (e.g. showing payments history) might be added.
_____________________________________________________

Notes:
- You will be working in a team of 3 to 4 engineers. (you won't be doing all the work alone)
- it's not a "see you when you are done" work, a technical manager will be with you on a day-to-day basis.