It is a simple Ionic app.
Our client is a medical center. They generate medical studies. When the process starts, they send a code to their customer. Their customers can enter in a website and, with that code, check if the study is ready. If it is, they can download it. The project is about to create a mobile app to do the same.
So, we need an Ionic app with just a screen where user can enter that code.
It will call a PHP backend (also to be develop as part of this project) which will look for the study at certain path (lets say "/studies/<code>.pdf").
If it is there, then sends it to the app, and this last one has to show it in another screen (not opening an external app).
But, if the study is not yet ready (file doesn't exists), has to inform the user and, as soon and the file is copied to the path, send a notification to the app informing study is now available.
When the app is opened again, having saved the previous code, has to call to the backend again, which now will return the study, and will show it.
Thinks to keep in mind:
1. Backend has to be develop as part of this project. It has to be in PHP 5.3 working with a MySQL database. Server runs linux.
2. Studies are upload via ftp to a folder in the same server where the backend is running. It has to detect when a study is uploaded automatically (using iNotify) and then notify the app via push notifications.
3. We want to use Ionic Services for the push notification service. App ideally should be make with Ionic, but is not mandatory.
4. In any case, the app has to run in Android, iOS and Windows 10 mobile.
So, what we expect to receive in order to consider the project fullfilled, and what would be our test cases:
1) We recieve: a) Code of hybrid app with the functionalities mentioned. b) PHP code for the backend we need to make everything to work. c) File with the needed scripts to create the tables in a MySql db that the backed needs.
What would we do to check everything is ok:
1) Create a mysql database and run scripts provided
2) Copy PHP to an Apache site.
3) Take the code, modify the backend URL so it points to our test site, and deploy to an android device.
4) Will copy a file "[login to view URL]" to a folder inside the backed, in the path the backend is checking for the studies.
5) Will write the code 1234 in the android app. It has to call the backend, and then, since the file is there, has to download it and show to me inside an app screen.
6). Will close the app. Open it again and write the code 5678.
7) The app will check the backend, won't find the file, so will alert me that the file haven't yet been uploaded.
8) I will copy a file "[login to view URL]" to the backend.
9) The backend has to realize by itself that the file was uploaded, so will send a push notification to my phone.
10) I will receive a notification in my phone. I will open the app again. It has to remember the last code I wrote, so as soon as it opens, will check the server again for the study. Now the backned has to return a file, and the open and show me (as it did in point 5).
These steps are the one required to consider the project as completed.
To send and receive notifications, you can create your own account in Ionic Services page, or we can create it and send you the credentials (note that, to send notification in android, you need to create a project in Google's Console).
Also, as additional note, you can create if you wish the app in iOS. Our test will be done in Android anyway, but everything should run fine despite of it.