Bine-ai venit în echipă!
Bine-ai venit în echipă!
Realitatea vieții tale este acum.
Acum este cel mai bun moment să faci o schimbare, să faci lucrurile diferit.
peviitor.ro aduce conceptul de acum în piața forței de muncă.
Aici în motorul de căutare locuri de muncă, vei găsi acum, toate locurile de muncă valabile acum în Romania.
Echipa de voluntari este organizată în jurul ONG-ului
ONG-ul a fost creat pentru ca cei care lucrează pe acest proiect OPEN SOURCE să aibă o identitate. În plus voluntarii au posibilitatea de a-și adăuga (dacă vor) ca și experiență pe profilul lor de LinkedIN, toată perioada petrecută la noi pe proiect.
peviitor.ro este un proiect OPEN SOURCE
(cu sursă deschisă)
În cadrul proiectului peviitor.ro vei învăța foarte multe tehnologii. Una dintre tehnologii este Git și GitHUB.
Git este un concept de sistem de versionare a codului.
GitHUB este un eco-system care se bazează pe Git și extinde experiența de dezvoltare atingând punctele critice ale unui SDLC (Software Development LifeCycle).
În proiect folosim:
secțiunea repositories care ne oferă posibilitatea gestionării codului pe componente și pe sub-proiecte
secțiunea Code unde este efectiv versionarea codului, buildurile, Release Candidates și toate detaliile codului sursă al aplicației peviitor.ro
secțiunea Issues unde se scriu User Stories, Technical Tasks, Features, Epics și Bugs
secțiunea Pull Requests unde codul scris de voluntari așteaptă să fie aprobat, tot aici se discută intens soluțiile tehnice și optimizări ale codului
secțiunea Project unde urmărim în sistem AGILE Scrum || Kanban ticketele deschise
În calitate de voluntar vei avea taskuri reale. Problemele pe care le întâmpini în rezolvarea task-urilor se pot discuta în meetingurile asociației.
Componenta de front-end este livrată direct din GitHUB de către GitHUB Pages, astfel nu avem nevoie de hosting pentru această componentă a proiectului.
Pentru că acele comenzi git sunt mai greu de ținut minte la începutul carierei și pentru că noi vrem să simplificăm lucrurile și pentru că GitHUB s-a gândit și la cei ca noi care vor să simplifice lucrurile, recomandăm folosirea tool-ului GitHUB Desktop pentru sincronizarea codului între local și remote. Scopul este ca acel cod scris de tine să ajungă să fie folosit de o lume întreagă. Aceasta este filozofia OPEN SOURCE. Cu GitHUB Desktop poți să dai commit, push și să inițiezi un Pull Request doar din butoane și cu mouse-ul fară să mai cauți pe internet comenzile git.
Dacă vrei să scrii cod pentru un scraper web sau pentru testare automată, îți recomandăm acest IDE:
Exista Visual Studio Code varianta Web. vscode.dev
Modul in care scrii cod este foarte flexibil. Noi iti prezentam optiunile, tu decizi cum vrei sa programezi.
Vei invata si cateva short-cut'uri precum cel din prezentarea alaturata in care atunci cand te afli in repo pe GitHUB in zona Code, schimbi URL-ul dar te vom invata o metoda si mai interesanta:
1) deschide GitHUB repository in zona Code
2) apasa pe tastatura, tasta punct (.)
Wow! Lucrurile devin interesante...
https://docs.github.com/en/codespaces/the-githubdev-web-based-editor
Cei care vor să contribuie la proiect și vor să interacționeze cu echipa, pot să vină pe grupul de Discord.
Voluntarii sunt grupați în echipe:
ISTORICUL PROIECTULUI
Prima versiune pe care am arhivat-o aici : http://v01.peviitor.ro/ nu a avut un design elaborat de catre un UX designer.
Codul OPEN SOURCE este aici: https://github.com/peviitor-ro/v01
Inca pastram aceasta versiune functionala pentru a exemplifica conceptul de bacward compatibility
Urmatoarea versiune a inceput de la un concept livrat de catre UX/UI: Oana Toudut.
Designul livrat in Figma se gaseste aici:
Versiunea este arhivata pe adresa: https://beta.peviitor.ro/
Urmatoarea versiune a inceput de la un concept livrat de catre UX/UI: Patricia Istrate.
Designul livrat in Figma se gaseste aici:
Patricia ne-a facut o surpriza si a capturat tot efortul ei depus, iar aceasta poveste o gasesti aici:
https://sites.google.com/view/patriciaistrateportfolio/home/pe-viitor-job-search-engine
Versiunea este publica in prezent: https://peviitor.ro/
Tehnologii folosite
Ce este un MOTOR DE CAUTARE? (Search Engine)
Cei de la Google au pus in acest video tot ce trebuie sa sti despre un motor de cautare.
Noi construim un motor de cautare despre locurile de munca in Romania.
Pentru a intelge componentele sistemului, este nevoie despre a intelege ce fac cei de la Google cu Google Search.
peviitor.ro este un motor de cautare
Proiectul peviitor.ro/ se bazeaza pe Apache SOLR
Indexul sta la adresa: http://zimbor.go.ro/ iar userul si parola le vei afla de la voluntarii proiectului.
In productie Apache SOLR este livrat de pe un Raspberry Pi 5, iar mai multe poti sa afli de pe: https://sad.peviitor.ro/
Avem si un server SOLR pentru mediul de test.
API-ul este scris in limbajul PHP. Aceasta componenta este cunoscuta ca si BFF (back-end for front-end). Repo: https://github.com/peviitor-ro/api
Front-end'ul este creat in ReactJS
Aceasta componenta este cunoscuta ca si Interfata Utilizator sau UI.
Pe langa aceste componente mai avem si scraperele web care aduc informatia de pe website-ul companiilor si le publica in SOLR prin intermediul API-ului.
Andrei prefera Scrapy din Python dar avem scrapere scrise in JavaScript, JAVA, Python chiar si in Apache JMeter, Am avut scrapere scrise in rust si nim, astfel incat nu conteaza limbajul de programare cu care vrei sa faci scraping.
Proiecte conexe
După ce adresa ta de email a fost adăugată în Validator, poți să accesezi: https://admin.peviitor.ro/login
Validatorul este un proiect independent care se ocupă de validarea locurilor de muncă înainte de a ajunge în producție. Scopul este de a avea toate link-urile validate, nume companie, locația și dacă mai este încă valid acel anunț. O echipă de testeri pe nume gardienii se ocupă de acest proces manual. Proiectul este hostat pe serverele lui Laurențiu Băluță iar Product Owner și lead pentru echipa gardienii este Florin Nistor. Vezi aici echipa: https://oportunitatisicariere.ro/#teamList
Catalogul firmelor din Romania
Am inceput sa lucram la catalogul firmelor din Romania. Il gasesti la adresa:
De aici o sa ne luam denumirea reala a companiei dincolo de brandul care il expune.
Catalogul firmelor din Romania este realizat in colaborare cu SC ZIRA MARKETING S.R.L.
Proiectul a demarat odata cu stagiul de practica al voluntarei Amy (Maxima Grecu) si a fost continuat de catre echipa de front-end coordonata de Andrei B. In prezent se lucreaza la partea de UX. Designul este prezentat de catre Claudia.
Web Scrapers
Scraperele pe care le dezvolta voluntarii au rolul de a aduce informatie in baza de date legata de locurile de munca disponibile din Romania.
In Romania sunt peste 1 milion 500 de mii de companii. Fiecare companie are website-ul prezentat in mod unic astfel ca pentru fiecare companie este necesar sa fie scris un program software care preia de pe website-ul companiei automat numele locului de munca si link-ul spre pagina de descriere a locului de munca. Daca compania considera sa isi refaca designul la website, noi va trebui sa facem un update la acel program software pe care in continuare il numim web scraper.
Andrei C. este lead pentru aceasta echipa de scraping.
Limbajul de programare este la alegerea voluntarului. Noi nu impunem tehnologia in care voluntarul scrie web scraperul.
Consideram ca este un exercitiu util sa iti exersezi abilitatile de programator prin implicarea ta de a scrie un web scraper. Nu te speria daca nu sti cum pentru ca cei care deja au scris scrapere sunt aici sa te ajute. Exista o echipa care se ocupa doar de scris web scrapere.
In viitor ne dorim sa integram un AI care sa ne ajute la implementarea unui singur web scraper si impreuna cu Apache Nutch sa integram toate website-urile pe acelasi web scraper.
Web scraperele sunt declansate automat prin GitHUB Actions astfel incat codul se ruleaza o data pe zi si astfel avem la zi toate locurile de munca la noi in baza de date peviitor.ro/
Programarea workflow'ului se face intr-un fisier YAML si uneori il gasesti sub denumirea de pipeline.
Masinile pe care se ruleaza aceste web scrapere sunt gratuit provizionate de la GitHUB. Avem 2000 de minute gratuite pe luna sa rulam fiecare repo in parte, de aceea vor exista mai multe repo cu functionalitatea de scraping.
GitHUB Actions este un sistem CI/CD (continuous integration - continuous delivery)
Orase
https://orase.peviitor.ro/ cuprinde toate localitatile din Romania conform legii 2 din 1968, livrat in format JSON.
Acest proiect conex a fost necesar pentru ca ne-am dorit sa avem filtrare pe fiecare localitate si nu am gasit gatuit nici un proiect care sa livreze toate localitatile din Romania.
Proiectul este scris in PHP, un cod cu sursa deschisa (OPEN SOURCE) la adresa:
https://github.com/peviitor-ro/orase
Romania
https://romania.peviitor.ro/ este un proiect in care vrem sa punem in valoare acel JSON pe care l-am creat si accessibil tuturor la adresa https://orase.peviitor.ro/ care cuprinde toate localitatile din Romania conform legii 2 din 1968.
Proiectul este in faza de re-design.
Codul este la adresa: https://github.com/peviitor-ro/ui.orase
oportunitatisicariere.ro
Website-ul ONG-ului este dezvoltat tot de catre voluntarii proiectului peviitor.ro.
Aici atentia se pune pe voluntariat si e mai mult despre oameni.
Avem si o sectiune de Povesti de Success in care cei care si-au dorit sa isi faca publica povestea lor si interactiunea cu ONG-ul si proiectul peviitor.ro au posibilitatea de a face publice gandurile lor. Probabil va servi si ca un instrument de motivare si pentru ca altii sa se implice si sa contribuie la proiect.
Logo-ul asociatiei a fost dezvoltat de catre Sorina Zorila. Il pastram ca o amintire si ca dovada a faptului ca prin munca poti sa faci reconversie profesionala. Sorina a facut tranzitia de la actor de teatru la Front-End developer si pentru o perioada a contribuit si la proiectele noastre.
Conceptul de design si o mare parte din implementare se datoreaza voluntarei Talida Ganciu.
In prezent sunt module si sectiuni adaugate de voluntarii de pe front-end coordonati de Andrei B. si Adelina M.
local portal
Proiectul local portal este inca in lucru. Acest proiect are ca scop atat de a invata arhitectura acestui motor de cautare dar si de a-ti livra absolut toata configuratia tie local si pe urma sa iti populezi cu ce informatii vrei tu baza ta de date locala.
Proiectul este in prima lui faza incheiata in care este posibila creearea infrastructurii locale.
Aici s-au implicat Alex Stefan cu rol de DevOPS si Alexandra Ifrim ca si lead pe backend dar si pe partea de Apache SOLR.
Proiectul se doreste a fi un proiect de training in care inveti componentele unui search-engine. In plus este pregatit pentru a cauta locuri de munca. Noi agregam toate locurile de munca din Romania insa tu poti sa iti aduci local doar locurile de munca care te intereseaza. Indiferent daca vrei sa aduci locurile de munca filtrate pe localitate sau pe un domeniu specific sau pentru tine sau prietenii tai, acest proiect poate sa iti fie util. In plus poti sa iti modifici atat structura core-ului si sa iti aduci alte tipuri de informatii nu neaparat locuri de munca, insa va trebui sa iti modifici putin si partea de front-end, daca nu vrei sa interoghezi informatia direct din SOLR.
testarea
Avem echipe dedicate de testare.
Testarea manuala este coordonata de Theodor si DeeDee iar tool-ul de Test Management este GitHUB Projects.
Am decis sa cream o alta organizatie pentru partea de testare pentru a nu interpune in acelasi loc: Issues taskuri tehnice, user stories, epice si test cases.
Daca vrei sa te implici atat pe testare manuala cat si pe testare automata, este loc si pentru tine sa iti exersezi abilitatile de tester.
In plus am pus direct pe website-ul principal si un github icon prin care putem prelua bug-uri cat si recomandari direct de la utilizatorii aplicatiei.
In concluzie nu e nevoie neaparat de a fi voluntar pentru a contribui la proiect ci poti contribui chiar si ca simplu utilizator.
legal / GDPR
Am ales un proiect: peviitor.ro/ in care sa nu avem nevoie de colectarea datelor cu caracter personal.
Locurile de munca nu este despre date personale.
Nu avem sectiune de register / login.
Desigur, proiectele conexe si munca de voluntar pot cere temporar datele tale personale insa esti in control direct deoarece acest proiect este cu sursa deschisa si poti cere stergerea oricaror informatii despre tine pe care ONG-ul sau proiectele conexe ar putea sa le aibe. In plus poti chiar tu sa te implici la stergerea lor. Este un proiect cu sursa deschisa.
Continutul il livram prin CloudFlare.
CloudFlare este un CDN.
Tot aici avem si partea de DNS management. CloudFlare ne livreaza certificatul SSL pentru ca sa ne bucuram de https.
API
Avem o sectiune de backend care ajuta scraperele sa scrie in indexul Apache SOLR dar ajuta si front-end'ul sa isi acceseze informatiile de care are nevoie.
API-ul este scris in PHP si este hostat pe serverele ClausWeb.
Dupa ce codul se modifica, deploy-ul se face automat de catre GitHUB Actions astfel asigurand Continous Delivery.
Aici se termina procesul de ONBOARDING.
Speram ca ti-a placut sa afli mai multe despre acest proiect peviitor.ro.
Ia legatura cu echipa, spune-le cine esti si ce vrei sa te faci cand vei fi mare. Vei primi taskuri si vei fi indrumat la fiecare pas ce ai de facut.
Mult SUCCES!!!