PinBin - Web - Vaslui - Lucrari 2024 Nationala

Informatii generale

Descriere

PinBin este o metoda de comunicare eficienta între o comunitate urbana si organele administrative ale statului.

Feature-uri ale platformei

  • :iphone: Harta interactivă: Explorează harta și vezi problemele depistate de comunitate.

  • 📷 Detecție cameră live: Ajută la vizualizarea și validarea problemelor din oraș.

  • :ticket: Tehnologie blockchain: Beneficiind de tehnologia blockchain, PinBin asigură transparență, securitate sporită și tranzacții irevocabile. De asemenea, grație descentralizării, nu există o entitate centrală care să poată controla sau manipula tranzacțiile.

  • 🔑 Conectare ca administrator: Aceasta se face cu ajutorul certificatelor digitale, care au rol în menținerea securității și încrederii utilizatorilor. După conectare, aceștia au posibilitatea de a rezolva problemele dar și datoria de a sesiza soluționarea lor, iar acea sesizare este una de încredere și ireversibilă datorită tehnologiei blockchain.

Cum funcționează

Ideea a pornit de la faptul că noi ca și comunitate trebuie să cerem pentru a primi. Astfel cetățeanul poate sesiza problema cu ajutorul camerei de la telefon, după care trece printr-un proces de detecție și clasificare a problemei. Ulterior este pusă pe hartă locația, eticheta și poza cu problema dată. Apoi vine treaba acelui middleware (în mod normal ONG-urile) care validează acele probleme sesizate de cetățeni. Și în final, rolul administratorilor de a rezolva acestea (doar problemele validate de middleware) și a menționa modificările pe care le fac (măsurile pe care le iau). Acestea sunt ireversibile și publice pentru toată lumea.

Tehnologii

Frontend:

  • Am folosit Next.js, un framework JavaScript dezvoltat de Vercel, care permite randarea pe server și generarea statică a site-urilor pentru aplicațiile React, realizând un design modular și performant.
  • Pentru stilizarea interfeței utilizatorului, am utilizat Tailwind.
  • Am integrat hărți interactive în aplicație folosind Leaflet, o bibliotecă JavaScript open-source pentru hărți personalizabile.
  • Pentru construcția interfeței utilizatorului, am folosit shadcn/ui, o bibliotecă de componente neformatate.

Backend:

  • Am utilizat pentru partea de server ElysiaJS, fiind o opțiune mult mai bună decât Express.
  • Ca și bază de date am folosit Supabase.
  • Pentru clasificarea imaginilor am creat un dataset custom, pentru partea de fine-tuning și am antrenat modelul cu Tensorflow.
  • Iar pentru a face posibilă partea de blockchain, am folosit Hardhat pentru deploy la un smart contract făcut în Solidity.
  • Am ales ca backend-ul să ruleze într-un container Docker hostat pe Render.

Testing & Optimization:

  • Am folosit Cypress pentru testare end-to-end (E2E), simulând comportamentul utilizatorului și verificând răspunsul corespunzător al aplicației.
  • Pentru testele unitare și de integrare, am utilizat Jest, asigurând funcționarea corectă a fiecărei componente și funcții individuale.

Am dorit integrarea a cât mai multă tehnologie modernă într-o interfață cât mai simplă și prietenoasă, cu scopul de a face o schimbare în societate.

Cerinte sistem

Browser web
Conexiune la internet

Realizatori

Alexandru Morteanu

  • Scoala: Colegiul Național “Gheorghe Roșca Codreanu”
  • Clasa: 12
  • Judet: Vaslui
  • Oras: Bârlad

Screenshots