This app solves the Usecase 2, see this file
This application is made with ReactNative and Firebase.
It can easily be installed on all the major device like IOS/Android.
The confidential and personal credentials of Firebase SDK can't be made public on GitHub.
So before starting the project do consider theses installation instructions:
- Make sure lates NodeJS version is available
- Run npm install
- Install expo-cli using npm install -g expo-cli
- Create a file named firebaseConfig.js inside constants folder and paste in your own FireBase credentialsthat you get after creating your account on Firebase.
The file should be structured exactly like this:
import * as firebase from "firebase";
const config = { apiKey: "***YOUR_KEY",
authDomain:"***YOUR_PROJECT_DOMAIN"`
databaseURL: "***YOUR_DB_URL***",
projectId: ""***PROJECT_ID***"",
appId:"**APP_ID***", };
firebaseConfig = firebase.initializeApp(config); export default firebaseConfig;
For help visit: https://firebase.google.com/
5. For starting the app after completing the above steps, run: npm start
to open up the expo-client in the browser then scan the QR code to download and run the application locally on your IOS/Android devices or emulators.
Before testing out with the application, Add some Authenticated Users(required for signing in to the application) to Firebase. Example: email: [email protected] password: 123456 userId: DZYztGsP6aZMc1kMg43QirCZSM13 (Unique Id automatically generated by Firebase Authentication)
The Firebase live database used in this application has a well defined schema. Do consider using this schema for the proper functioning of the Application.
Schema Example(Refer to /screenshots
folder):
{
"labs" : {
"10" : {
"name" : "ChemicalX"
},
"12" : {
"name" : "RadioLab"
},
"14" : {
"name" : "General Diagnostics"
}
},
"technicians" : {
"DZYztGsP6aZMc1kMg43QirCZSM13" : {
"lab" : 14,
"userName" : "[email protected]"
},
"VLfOfracJ4USAXqGJMgGGxk32ku1" : {
"lab" : 10,
"userName" : "[email protected]"
},
"ihWTMxWv8jfMcV68q5NG2WDxZA72" : {
"userName" : "[email protected]"
},
"wrPfdOdrfUcOkIN2JMllVhIBA3e2" : {
"lab" : 12,
"userName" : "[email protected]"
}
},
"volunteers" : {
"1001" : {
"labsAccessed" : {
"10" : {
"25-05-2020-8-50-26" : {
"duration" : "30",
"phone" : "9191991999",
"reason" : "Reason-1",
"technician" : "VLfOfracJ4USAXqGJMgGGxk32ku1"
},
"25-05-2020-8-53-26" : {
"duration" : "30",
"phone" : "9191991999",
"reason" : "Reason-2",
"technician" : "VLfOfracJ4USAXqGJMgGGxk32ku1"
},
"25-05-2020-9-54-2" : {
"duration" : "30",
"phone" : "9191991999",
"reason" : "Confdential",
"technician" : "VLfOfracJ4USAXqGJMgGGxk32ku1"
}
},
"12" : {
"4-02-2020" : {
"lab" : 12,
"reasons" : "Reason-1",
"technician" : "aaafff"
}
}
},
"phone" : 9191991999
},
"1003" : {
"labsAccessed" : {
"10" : {
"20-04-2020-12-00-20" : {
"duration" : 20,
"reason" : "Confidential",
"technician" : "hhhhkkk"
}
},
"14" : {
"25-05-2020-9-5-23" : {
"duration" : "23",
"phone" : "777777722",
"reason" : "Super-secret",
"technician" : "DZYztGsP6aZMc1kMg43QirCZSM13"
}
}
},
"name" : "Dr Harley Quinn",
"phone" : 777777722
}
}
}