Skip to content

Latest commit

Β 

History

History
230 lines (181 loc) Β· 10.7 KB

File metadata and controls

230 lines (181 loc) Β· 10.7 KB

Pregled Projekta - Panic Button App

Pozadina

Problem

U okolini OΕ  Ivan Goran KovačiΔ‡, blizu Vukovog spomenika u Beogradu, u poslednja dva meseca učestale su:

  • Pretnje učenicima osnovne Ε‘kole
  • Slučajevi uznemiravanja
  • Pljačkanja osnovaca

Počinioci su uglavnom uigrana ekipa lokalnih mangupa starosti 14-18 godina.

Trenutna situacija

  • Roditelji i osoblje Ε‘kole su se intenzivno obraΔ‡ali policiji
  • Uz sva deklarativna obeΔ‡anja, policija nije uspela (a ni pokuΕ‘ala) da promeni situaciju na terenu
  • Na pomolu je spontana organizacija roditeljske patrole

Inspiracija

Ideja je inspirisana mnogim volonterskim poduhvatima viΔ‘enim na druΕ‘tvenim mreΕΎama:

  • Razne mape
  • Liste
  • Koordinacione platforme

ReΕ‘enje

Vizija

Besplatna neprofitna aplikacija koja bi sluΕΎila:

  • Primarno: Roditeljima OΕ  Ivan Goran KovačiΔ‡
  • Dugoročno: Drugim Ε‘kolama i roditeljskim grupama Ε‘irom zemlje

Ključne funkcionalnosti

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         PANIC BUTTON APP                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                             β”‚
β”‚  ZA DECU/UČENIKE:                                                           β”‚
β”‚  ────────────────                                                           β”‚
β”‚  β€’ Panik dugme - jedan pritisak Ε‘alje lokaciju i alarm                      β”‚
β”‚  β€’ "Stigao sam bezbedno" - check-in funkcija                                β”‚
│  ‒ GPS praćenje (opciono)                                                   │
β”‚                                                                             β”‚
β”‚  ZA RODITELJE/PATROLE:                                                      β”‚
β”‚  ─────────────────────                                                      β”‚
β”‚  β€’ Raspored patrola - ko, kada i gde patrolira                              β”‚
β”‚  β€’ Mapa zone - prikaz "vruΔ‡ih tačaka" gde su incidenti česti                β”‚
β”‚  β€’ Grupni chat - brza koordinacija                                          β”‚
β”‚  β€’ Push notifikacije - hitna obaveΕ‘tenja                                    β”‚
β”‚                                                                             β”‚
β”‚  PRIJAVLJIVANJE INCIDENATA:                                                 β”‚
β”‚  ──────────────────────────                                                 β”‚
β”‚  β€’ Obrazac za prijavu - Ε‘ta, kada, gde, opis                                β”‚
β”‚  β€’ Anonimna prijava - za one koji se plaΕ‘e odmazde                          β”‚
β”‚  β€’ Arhiva incidenata - statistika za pritisak na policiju                   β”‚
β”‚                                                                             β”‚
β”‚  DODATNO:                                                                   β”‚
β”‚  ────────                                                                   β”‚
β”‚  β€’ "Bezbedne kuΔ‡e" - označeni lokali gde dete moΕΎe potraΕΎiti pomoΔ‡          β”‚
β”‚  β€’ Kontakti - policija, Ε‘kola, roditelji                                    β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

SuΕ‘tina

Aplikacija spaja:

  1. Brzu komunikaciju - alarm stiΕΎe u sekundi
  2. Koordinaciju volontera - ko ide, ko je blizu
  3. Dokumentovanje problema - statistika za institucije

Pristup implementaciji

Minimalni PoC (Proof of Concept)

Za brzi početak, fokus na apsolutni minimum:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  MINIMALNI POC                                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                             β”‚
β”‚  Panic dugme + opcioni tekst                                                β”‚
β”‚         β”‚                                                                   β”‚
β”‚         β–Ό                                                                   β”‚
β”‚  Ε alje lokaciju i poruku na API endpoint                                    β”‚
β”‚         β”‚                                                                   β”‚
β”‚         β–Ό                                                                   β”‚
β”‚  API prosleΔ‘uje u Telegram/Viber/WhatsApp grupu                             β”‚
β”‚         β”‚                                                                   β”‚
β”‚         β–Ό                                                                   β”‚
β”‚  Web front za pregled aktivnih alarma                                       β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

ZaΕ‘to Telegram?

  • VeΔ‡ina korisnika veΔ‡ ima Telegram
  • Notifikacije rade izuzetno pouzdano (čak i na battery saver-u)
  • Grupni chat je besplatan
  • API je jednostavan za integraciju

PWA umesto native app

  • Nema App Store review procesa
  • Instalira se direktno iz browser-a
  • Radi offline (sa ograničenjima)
  • BrΕΎe do korisnika

Arhitektura - High Level

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                              KORISNICI                                      β”‚
β”‚                                                                             β”‚
β”‚          πŸ“± PWA (mobilni browser)        πŸ“± Telegram (notifikacije)         β”‚
β”‚                      β”‚                              β–²                       β”‚
β”‚                      β”‚                              β”‚                       β”‚
β”‚                      β–Ό                              β”‚                       β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                        β”‚                       β”‚
β”‚              β”‚   VERCEL    β”‚                        β”‚                       β”‚
β”‚              β”‚  (Frontend) β”‚                        β”‚                       β”‚
β”‚              β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                        β”‚                       β”‚
β”‚                     β”‚                               β”‚                       β”‚
β”‚                     β–Ό                               β”‚                       β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                   β”‚
β”‚              β”‚   CONVEX    │─────────────►│  TELEGRAM   β”‚                   β”‚
β”‚              β”‚  (Backend)  β”‚              β”‚    BOT      β”‚                   β”‚
β”‚              β”‚  (Database) β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                   β”‚
β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                                β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

Komponenta Tehnologija ObrazloΕΎenje
Frontend Next.js + React PWA podrΕ‘ka, brz development
Backend Convex Real-time, serverless, besplatan tier
Database Convex (ugraΔ‘en) Transakcije, subscriptions
Notifikacije Telegram Bot API Pouzdanost, besplatno
SMS (pun sistem) Twilio Verifikacija telefona
Hosting Vercel Automatic deploys, CDN
CDN Cloudflare Besplatno, globalna distribucija

Faze razvoja

Faza 1: PoC (1-2 sata)

  • Panic button sa lokacijom
  • Telegram notifikacija
  • "Preuzimam" dugme
  • Jedna Ε‘kola, zajednički PIN

Faza 2: MVP (1-2 nedelje)

  • SMS verifikacija
  • RESPONDER uloga
  • Osnovne smene
  • 1 nivo eskalacije
  • Osnovne statistike

Faza 3: Pun sistem (1-2 meseca)

  • ViΕ‘e Ε‘kola/grupa
  • Sve uloge (ADMIN, RODITELJ, RESPONDER, DETE)
  • 3 nivoa eskalacije
  • Admin panel
  • Kompletan reporting
  • Geofencing

Faza 4: Skaliranje

  • Native aplikacije (iOS/Android)
  • API za integraciju
  • White-label za druge gradove

Ciljevi projekta

Kratkoročni (PoC)

  1. Funkcionalan panic button za jednu Ε‘kolu
  2. Validacija koncepta sa stvarnim korisnicima
  3. Prikupljanje feedback-a

Srednjoročni (6 meseci)

  1. Stabilna platforma za 5-10 Ε‘kola u Beogradu
  2. Dokumentovana statistika incidenata
  3. IzveΕ‘taji za policiju i institucije

Dugoročni (1+ godina)

  1. Platforma dostupna svim Ε‘kolama u Srbiji
  2. Partnerstva sa Ε‘kolama i lokalnim samoupravama
  3. Merljivo smanjenje incidenata

Neprofitni karakter

Ovo je volonterski projekat bez komercijalnih ciljeva:

  • Kod je open-source
  • Nema pretplata ni naplaΔ‡ivanja
  • TroΕ‘kovi infrastrukture su minimalni (~$5-15/mesec za jednu Ε‘kolu)
  • MoguΔ‡e traΕΎiti sponzorstva od tech kompanija (Twilio.org, Vercel OSS, itd.)

Kontakt i doprinosi

Projekat je otvoren za:

  • Programere koji ΕΎele da doprinesu kodom
  • Dizajnere za UI/UX poboljΕ‘anja
  • Roditelje koji ΕΎele da testiraju
  • Ε kole koje ΕΎele da se priključe

Dokument kreiran: Januar 2026 Poslednje aΕΎuriranje: Januar 2026