Am dezvoltat o nouă platformă software de monitorizare fermă agricolă pentru clientul nostru AgroGPS. Și ca de fiecare dată am decis să împărtășim experiența noastră în dezvoltarea acestui proiect genial. Am experimentat o multime de stări și au aparut obstacole pe parcursul dezvoltării, însă rezultatul este unul care ne face mândrii.
Nevoia clientului
Totul a pornit de la cerința clientului nostru actual AgroGPS de a imbunătăți o platformă software de monitorizare fermă agricolă pe care acesta o avea în portofoliu. Era nevoie de o actualizare a platformei existente, dezvoltata in CakePHP pe back-end și front-end-ul dezvoltat custom în jQuery, JS, HTML, CSS.
Pe lângă actualizarea librăriilor și a tehnologiilor utilizate erau nevoie de a fi dezvoltate noi funcționalități. Cel mai important aspect, ca aplicația web să fie accesibilă și de pe telefon și tabletă, deoarece fermierii petrec mult timp pe câmp și este nevoie de o soluție pentru a accesa rapid informațiile despre fermă, poziția tractoarelor și activitatea pe care aceștia o desfașoară în timp real.
Platforma software de monitorizare ferma agricolă trebuie conectată la o antenă GPS care transmite datele în timp real, pentru ca fermierul să fie informat constant despre activitatea fermei și a îi permite să ia decizii rapide, în funcție de problemele apărute pe teren.
Alături de AgroGPS am dezvoltat de asemenea Aplicație mobilă de ghidaj manual GPS pentru vehicule agricole și Agricultură de precizie prin gps. Puteți găsi în portofoliul lor aplicația de ghidaj manual, ghidaj automat, aplicația de monitorizare despre care discutăm în acest articol, dar și o aplicație mobilă de măsurare a terenului agricol cu ajutorul unei antene GPS de precizie.
Soluția software propusă pentru monitorizare fermă agricolă
Analizând alături de client cerințele și nevoile acestuia, am demarat o analiză a proiectului. Am depistat elementele critice pe care le avem de implementat, aspecte ce țin de optimizarea proceselor și a rapoartelor, cât și realizarea unui design ce permite accesul rapid la informații pe toate tipurile de dispozitive.
Am împărțit proiectul în mai multe etape, pentru a putea dezvolta într-un mod organizat, care să ne permită totdată și feedback constat din partea clientului, deoarece timpul trebuie consumat cu atenție. Fiecare etapă fiind conturată în jurul unei funcții esențiale. Au aparut astfel următoarele milestone-uri: setare proiect, vehicule, rapoarte vehicule, arii, rapoarte arii.
Deadline-ul a fost unul strâns, deoarece activitatea fermierilor reîncepea in scurt timp, însă proiectul a fost realizat în timpul stabilit alaturi de client.
Dezvoltarea platformei software de monitorizare a fermei agricole
Am dezvoltat platforma software de monitorizare fermă agricolă, cu de o echipa formată din doi ingineri de soft seniori cu un background solid in dezvoltarea platformelor de digitalizare și automatizare a proceselor interne din cadrul unei companii. Echipa a fost mixtă, astfel fiecare membru s-a ocupat de câte o componentă frontend și backend.
Tehnologiile utilizate pentru dezvoltarea platformei software
Stack-ul de dezvoltare al platformei a fost ales în urma unei analize, iar rezultatul a dus către alegerea unei arhitecturi de tip client-server, implementate în NodeJS pentru backend și VueJS 3 pentru frontend.
Dezvoltarea aplicației server a fost realizată utilizând NodeJS, cu framework-ul ExpressJS. Conexiunea la baza de date de tip relațional, MySQL, este realizată cu ajutorul ORM-ului Sequelize.
Pentru dezvoltarea aplicației client, am optat pentru VueJS 3, fiind ultima versiune stabilă, cu framework-ul Vuetify ce ne-a permis reutilizarea unor componente predefinite. Harta afișată în aplicație, cât și operațiile de adăugare, modificare sau ștergere a ariilor este realizată prin integrarea Leaflet. Conexiunea vehiculelor și afișarea în timp real pe hartă este realizată cu ajutorul unei conexiuni de tip socket, utilizând socket.io.
Modulele platformei software de monitorizare a fermei agricole
Dezvoltarea platformei a fost realizată prin divizarea acestia în milestone-uri ce reprezintă module de bază ale aplicației web. Vom discuta în continuare despre funcțiile de bază pe care le-am implementat pentru platforma software de monitorizare fermă agricolă.
Autorizare
Accesul utilizatorului în platforma software de monitorizare fermă agricolă se realizează prin accesarea ecranului de login, în care acesta introduce numele de utilizator și parola, apoi apasă pe butonul Login. Ulterior utilizatorul este redirecționat pe pagina principală dacă datele de accesare au fost corecte sau îi va fi afișată o eroare.
Actualizare date cont
Pentru a actualiza parola contului se merge în ecranul Cont, din bara de meniu principală.
Ecranul principal al aplicației web
Ecranul principal al platformei software de monitorizare fermă agricolă este impărțit în 3 zone principale, ce se pot regăsi în toată aplicația.
Meniul principal este încadrat în partea stângă pe toată înălțimea ecranului, atât pe desktop, cât și pe tabletă sau mobil. În cazul acestora din urma, bara de meniu este ascunsă implicit și poate fi accesată prin click pe hamburger menu. Pe această bară se află un bloc de acces rapid, unde este listată toată flota de vehicule ale fermei, prin click pe numele vehiculului utilizatorul este redirecționat în pagina de rapoarte ale vehicului respectiv. În cea de-a doua parte a barei de navigare se află meniul, iar în partea inferioră se află butonul pentru delogare.
În partea de sus a ecranului este afișată o bară de meniu secundară, pe care vor fi afișate titlul paginii și alte elemente relavante pentru ecranele respective precum butoane sau selectorul pentru perioadă. Pe ecranele mobile, în partea stângă pe această bară se va afișa butonul hamburger menu ce afișează/ascunde bara de meniu.
În partea centrală a ecranului se poate observa harta principală, unde sunt afișate ariile, numele acestora, cât și pozițiile în timp real ale vehiculelor. Aceste elemente pot fi afișate sau ascunse prin butonul din colțul dreapta sus. Pe bara din stânga se pot evidenția butoanele de creare, editare sau ștergere. Acestea pot fi utilizate pentru a fi efectua operații asupra ariilor, direct de pe harta principală în platforma software de monitorizare fermă agricolă.
Ecranul de listare a vehiculelor în platforma software de monitorizare fermă
Ecranul de listare a vehiculelor agricole sunt afișate informații despre numele vehiculului, starea motorului, viteza curentă, poziția acestuia pe hartă, data ultimei transmisii și butoane ce permit diferite operatii precum: modificare date vehicul, redirecționare către ecranul pe care sunt afișate rapoartele despre vehicul și ecranul de administrare al implementului utilizat.
Pe ecranul mobil al platformei software de monitorizare fermă, designul este unul diferit, deoarece datele trebuiau afișate într-un mod care să îi permită managerului de fermă accesul rapid la informații, fără a fi nevoie să efectueze mai multe scroll-uri pe ecran.
Modificare date vehicul
Pentru a modifica datele despre un vehicul în platforma software de monitorizare fermă agricolă, se merge în acest ecran și ulterior se pot modifica numele, marca, modelul, numărul de înmatriculare, dar și flota din care face parte.
Gestionare implement
Pentru a putea fi efectuate rapoarte complexe, iar fermierul să fie informat cât mai bine, se poate adăuga pentru fiecare vehicul, pe o perioadă de timp, implementul utilizat pentru efectuarea operațiilor agricole. Odată utilizată această opțiune, noi date și calcule sunt introduse în rapoarte. Adăugarea unui nou implement se face utilizând butonul Creează implement de pe bara de meniu.
Pentru a șterge un element în platforma software de monitorizare fermă agricolă, de fiecare dată când se apasă butonul Șterge, un popup de confirmare va fi afișat pe ecran. Utilizatorul poate opta pentru a anula operația sau a confirma ștergerea.
Rapoartele unui vehicul
În ecranul de rapoarte ale unui vehicule pot fi regăsite informatiile necesare pentru a analiza activitatea unui vehicul agricol în platforma software de monitorizare fermă agricolă. Astfel platforma software de monitorizare fermă, îl ajută pe fermieri să verifice statisticile și să înțeleagă care sunt punctele forte și unde sunt punctele slabe, care trebuie îmbunatățite.
Pe bara de meniu, din partea superioară a ecranului utilizatorul poate opta pentru a alege perioada de raportare, și cea în care vor fi afișate toate rapoartele de mai jost.
Primul grafic afișeaza consumul în litri sau în procente. Culoarea verde simbolizeaza faptul ca motorul este pornit, iar partea roșie arata ca motorul a fost oprit. Prin click pe butonul Vezi detalii, graficul va fi afișat în modul full screen. Avantajul principal în analiza combustibilului este de a identifica pierderile sau în cazurile neplacute furturile.
Graficul de viteză afișează istoricul vitezei pentru vehiculul selectat. Beneficiul major pe care îl aduce acest grafic, șefului de fermă constă în a identifica dacă conducatorul tractorului a respectat vitezele corecte de rulare, în conformitate cu operația agricolă pe care a efectuat-o. Acest grafic poate fi afișat și în modul full screen, prin click pe Vezi detalii.
Raportul Sintetic Zilnic reprezintă un sumar al activității vehiculului pe zile, afișat pe tipul de rulare al vehiculului (mișcare, staționare), pe arii și totalul zilei. Prin analiza acestui grafic, șeful fermei poate verifica dacă planficarea a fost respectată și care este statusul curent al lucrărilor sau poate verifica istoricul.
Foi de parcurs reprezintă un raport generic pentru platforma software de monitorizare fermă agricolă, prin monitorizarea flotei de vehicule și activitatea acestora. Se poate observa statusul activității, momentul și locul poziției în care motorul a fost pornit, dar și oprit, distanța parcursă în km, suprafața acoperită de vehicul (doar în cazul în care vehiculul are adaugat un implement pentru perioada curenta de raportare), durata și combustibilul consumat. De asemenea acest raport se poate exporta și în Excel prin click pe butonul Exportă.
Raportul de alimentări afișează istoricul alimentărilor, prin prezentarea date, locației și nivelul de combustibil adăugat.
Ultimul raport afișat pe pagină este cel al traseului parcurs. Pe hartă este afișat traseul parcurs în perioada de raportare selectată. Fiecare linie trasată pe grafic, ce are o culoare diferită reprezintă un traseul de la pornirea pana la oprirea motorului. Pentru a putea utiliza datele listate în aplicație, fermierul are la dispoziție în platforma software de monitorizare fermă agricolă, exportul datelor în formatele KML, KMZ sau excel.
Ecranul de listare arii
Administrarea ariilor se realizează în mare parte de pe ecranul hărții principale, în platforma software de monitorizare fermă agricolă. Însă era nevoie de un ecran de vizualizare în modul list, unde șeful e fermă poate vedea ariile, suprafața acestora, pot da click pe butonul hartă pentru a le afișa pe hartă și click pe șterge, pentru a renunța la o arie.
Deoarece platforma software de monitorizare fermă agricolă a avut ca obiectiv principal utilizarea de pe dispozitive mobile sau tablete, ecranul listare arii a fost conceput diferit pe mobil, pentru a facilita accesul rapid la informație.
Ecranul activitate arii
Pe ecranul activitate arii sunt afișate în platforma software de monitorizare fermă agricolă rapoarte referitoare la activitățile agricole în raport cu ariile. Deoarece in cazul rapoartelor pe vehicul poate fi analizată activitatea individuală a tractoarelor sau vehiculelor agricole, era nevoie de un ecran dedicat, în care fermierul să poată analiza activitatea la nivel general, pe zile sau pe arii. Pentru asta am divizat acest ecran în două tab-uri, și am generat rapoarte pentru Activitate pe zile și Activitate pe arii. În funcție de modul selectat de grupare (pe zile sau pe arie) se afișează totalul distanței, duratei și combustibilului. Dacă utilizatorul da click pe o linie, se va deschide o listă cu rapoarte parțiale ce compun totalul afișat.
Ecranul a fost restilizat pentru varianta de mobil, pentru a putea facilita accesul la informatii și previzualiza rapid datele despre arii.
Lansează-ți propria platforma software cu noi.
Am avut placerea de a fi partenerii unor companii de succes, care și-au dezvoltat afacerile și s-au bucurat de avantajele digitalizarii.