Documente Academic
Documente Profesional
Documente Cultură
RAPORT
A verificat:
asist. univ. C. Rusu
Chisinau 2019
Scopul lucrarii:
Pentru designul ofert in laboratorul nr. 5 să se implementeze partea funcțională a proiectului
conform serviciului API descris mai jos.
Auth (autentificare)
Reg (inregistrare)
UserProfie (extragerea avansată despre utilizatorul curent autentificat)
GetDocList (vizualizarea listei de medici activi in sistem)
GetDoc (vizualizarea unui anumit medici activ in sistem)
UserRequestConsultation (Adaugarea unei programari la medic)
SPLASH SCREEN
WELCOME SCREEN
Pentru registrarea utilizatorul este nevoit să introducă toate câmpurile, pentru aceasta este
implementată validarea câmpurilor – ceeea ce va permite eviterea erorilor nedorite.
REGISTER SCREEN
Pentru înregistrare se face un post către API cu datele primite din formă:
LoginPost({this.status, this.message});
LOGIN SCREEN
keyWords.forEach((word) {
// Oculist
["ochi", "ochiul", "ochelari", "ochii", "vedere", "vederea", "vad"]
.forEach((simptom) {
if (word.toLowerCase() == simptom) speciality.add("Oculist");
});
// Pediatru
["copilul", "copil", "baiatul", "fetita"].forEach((simptom) {
if (word.toLowerCase() == simptom) speciality.add("Pediatru");
});
// Chirurg
["operatie", "operat", "interventie", "chirurgical", "chirurgicala"]
.forEach((simptom) {
if (word.toLowerCase() == simptom) speciality.add("Chirurg");
});
// Terapeut
[
"picior", "mina", "coloana", "vertebrala", "muschi", "ligamente","fractura","fracturat",
"spinare", "vertebre","dislocat", "dislocate"
].forEach((simptom) {
if (word.toLowerCase() == simptom) speciality.add("Terapeut"); }); }); }
DOCTOR LIST
Pentru primire listei de doctori sau a unui singur doctor după index se folosesc get-uri:
DoctorProfile(
{this.id,
this.fullName,
this.speciality,
this.address,
this.about,
this.stars,
this.photo});
// From Json to DoctorProfile class
factory DoctorProfile.fromJson(Map<String, dynamic> json) {
return DoctorProfile(
id: json['DocId'],
fullName: json['FullName'],
speciality: json['Specs'],
address: json['Address'],
about: json['About'],
stars: json['Stars'],
photo: json['Photo'],
);
}
}
NOTIFICATION SCREEN
Pentru adăugarea unui consultant se implementează un post:
// Consultant response
class ConsultantResponse {
final int consId;
final String name;
final String disease;
final String address;
final String description;
final int docId;
final bool isConfirmed;
ConsultantResponse(
{this.consId,
this.name,
this.disease,
this.address,
this.description,
this.docId,
this.isConfirmed});
PROFILE SCREEN
Pentru primirea informației despre profil facem un get de la API:
// User profile
class UserProfile {
final String fullName;
final String birthday;
final String email;
final String phone;
final String address;
final String username;
final String base64Photo;
final String status;
UserProfile(
{this.fullName,
this.birthday,
this.email,
this.phone,
this.address,
this.username,
this.base64Photo,
this.status});
Concluzii
În cadrul acestei lucrări de laborator, partea logică a aplicației Telemedicine utilizând
următorul punct de vedere din lucrările de laborator nr. 5: SPLASH SCREEN, WELCOME
SCREEN, SCREEN LOGIN / SIGNUP, SCREEN HOME, APPROVED REQUEST SCREEN,
DOCTOR LIST, DOCTOR CONTACTS.
Au fost implementate metode precum înregistrarea, autentificarea, utilizarea, obținerea unei liste de
doctori și detalii despre acestea, adăugând consultatiile medicului. În rezultat a fost o interfață de
utilizator cu drepturi depline și o parte logică a aplicației Android numită Telemedicine.
Bibliografie
1 Tutorial [Resursă electronică]. Regim de acces: https://www.youtube.com/
2 Material ajutator [Resursă electronică]. Regim de acces: https://stackoverflow.com/
3 Documentație Flutter. Regim de acces: https://flutter.dev/