HackSquad

Proiect adăugat de Dragos Trett și Teodor Vecerdi
Categoria Software - Utilitar
19 august 2018


Descriere scurtă:
HackSquad este o platformă web destinată persoanelor ce doresc să își pună în aplicare cunoștințele de programare sau să pună o idee în practică. Aceasta are ca scop sa creeze o legatură între doi sau mai mulți programatori. Aplicația oferă posibilitatea de a căuta oameni pentru a forma echipe cu scopul de a participa la un Hackaton sau de a crea un proiect, spre deosebire de alte platforme asemănătoare care oferă suport doar pentru crearea de echipe pentru proiecte.

Prezentare:

Functionalitati:

Platforma a fost construită cu un sistem de conturi de utilizatori, unde orice utilizator are posibilitatea de a crea echipe noi și de a trimite cerere de participare la orice echipă disponibilă. Oricine își poate crea un cont de utilizator atâta timp cât emailul este real și nefolosit anterior.
Utilizatorul are abilitatea de a modifica datele de pe profilul lui. Aceste date cuprind poza de profil, abilitățile, secțiunea „about”, dar și linkurile către GitHub și LinkedIn.
La trimiterea cererii de participare la o echipă, liderul echipei primește notificare în timp real, doar în cazul în care acesta este conectat pe website și este activ.
Deoarece nu prea poti sa stii daca o persoana este de incredere sau nu, sistemul de reputatie incearca sa previna aceasta problema printr-un simplu scor care creste cand utilizatorul duce un proiect/echipa la bun sfarsit si scade daca creatorul echipei il scoate pe utilizator din echipa. Reputatia utilizatorului este vizibila pe pagina de profil a acestuia, dar si pe paginile de la echipele din care face parte si in cererile de participare.
Platforma Hacksquad are ca scop principal formarea echipelor pentru hackatoane si proiecte. Diferenta principala este faptul ca o echipa pentru hackaton este creata strict pentru acel concurs, in timp ce echipele pentru proiecte sunt infiintate pentru dezvoltarea unei idei si punerea in practica a acesteia. HackSquad face legatura dintre dezvoltatori si oamenii cu idei.
Odata creată o echipă, liderul are opțiunea de a modifica datele acelei echipe.
Pentru fiecare echipa exista un chat. Acesta functioneaza in timp real folosind socket.io.
Utilizatorul are abilitatea de a căuta echipe după numele lor sau poate opta pentru o căutare avansată cu diverse filtre precum numele, platforma destinată, angajamentul necesar, stadiul și bugetul proiectelor, iar pentru echipe de Hackatoane, de asemenea numele si platforma destinată, dar și hackaton si dată.

Tehnologii folosite:

Pentru server se foloseste environmentul NodeJS, folosind biblioteca ‘express’ pentru generarea paginilor web. Pentru a stabilii toate conexiunile ce necesite alerte in timp real s-a folosit biblioteca ‘socket.io’. Restul conexiunilor fiind de tipul GET sau POST folosind ajax pe frontr-end. Pentru stocarea datelor se foloseste o baza de date mysql cu 4 tabele: conturi, echipe de proiecte, echipe de hackatoane si mesaje de grup. Pentru a accesa baza de date din server se foloseste biblioteca ‘mysql’.
Parolele de la conturi sunt stocate cryptate cu ‘bcrypt’. Toate datele transmise de la server la client si invers sunt verificate curatate de incercari xss sau sql injection. La crearea de cont, utilizatorul primeste un mesaj pe emailul sau cu care poate verifica contul. Emailul este trimis folosind biblioteca de email de la ‘SendGrid’ pentru nodejs.
Folosind biblioteca ‘cookie-parser’ serverul stie cookie-urile utilizatorului, drept urmare poate sti emailul si tokenul pentru verificare. Acest token este primit de la server si verificat de integritate la toate request-urile.
Pentru a crea partea vizuala a clientului am decis folosirea limbajelor de programare HTML, CSS si biblioteca Bootstrap cu scopul de a face toate paginile web usor de utilizat de pe orice dispozitiv cu orice rezolutie la ecran. Pentru conexiunea de la client la server si interactiunea userului cu pagina am folsit limbajul Javascript, cu biblioteciile socket.io si JQuery cu ajax.

Accesări: 1.176
Toate proiectele înscrise la GREPIT 11

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*