├── src
├── assets
│ ├── .gitkeep
│ ├── images
│ │ ├── bkg.png
│ │ ├── graph.png
│ │ ├── geospatial_large.png
│ │ └── geospatial_small.png
│ ├── icons
│ │ ├── icon-128x128.png
│ │ ├── icon-144x144.png
│ │ ├── icon-152x152.png
│ │ ├── icon-192x192.png
│ │ ├── icon-384x384.png
│ │ ├── icon-512x512.png
│ │ ├── icon-72x72.png
│ │ └── icon-96x96.png
│ ├── community.json
│ ├── changelog.json
│ ├── statistici_pe_zile.json
│ ├── _puncte_verificare.geojson
│ └── puncte_verificare.geojson
├── app
│ ├── app.component.css
│ ├── components
│ │ ├── login
│ │ │ ├── login.component.scss
│ │ │ ├── login.component.ts
│ │ │ └── login.component.html
│ │ ├── main
│ │ │ ├── logs
│ │ │ │ ├── logs.component.scss
│ │ │ │ ├── logs.component.html
│ │ │ │ └── logs.component.ts
│ │ │ ├── community
│ │ │ │ ├── community.component.css
│ │ │ │ ├── community.component.html
│ │ │ │ └── community.component.ts
│ │ │ ├── administration
│ │ │ │ ├── administration.component.scss
│ │ │ │ ├── user-list
│ │ │ │ │ ├── user-list.component.scss
│ │ │ │ │ ├── user-list.component.html
│ │ │ │ │ └── user-list.component.ts
│ │ │ │ ├── patients-list
│ │ │ │ │ ├── patients-list.component.scss
│ │ │ │ │ ├── add-new-patient
│ │ │ │ │ │ ├── add-new-patient.component.scss
│ │ │ │ │ │ └── add-new-patient.component.html
│ │ │ │ │ └── patients-list.component.ts
│ │ │ │ ├── administration.component.html
│ │ │ │ └── administration.component.ts
│ │ │ ├── statistics
│ │ │ │ ├── mobility
│ │ │ │ │ ├── mobility.component.scss
│ │ │ │ │ ├── mobility.component.html
│ │ │ │ │ └── mobility.component.ts
│ │ │ │ ├── air-quality
│ │ │ │ │ ├── air-quality.component.scss
│ │ │ │ │ ├── air-quality.component.html
│ │ │ │ │ └── air-quality.component.ts
│ │ │ │ ├── relation-cases
│ │ │ │ │ ├── relation-cases.component.scss
│ │ │ │ │ └── relation-cases.component.html
│ │ │ │ ├── daily-tests
│ │ │ │ │ ├── daily-tests.component.html
│ │ │ │ │ ├── daily-tests.component.ts
│ │ │ │ │ └── daily-tests.component.css
│ │ │ │ ├── coronavirus-europe
│ │ │ │ │ ├── coronavirus-europe.component.scss
│ │ │ │ │ ├── coronavirus-europe.component.html
│ │ │ │ │ └── coronavirus-europe.component.ts
│ │ │ │ ├── europa-cases-graph
│ │ │ │ │ ├── europa-cases-graph.component.html
│ │ │ │ │ ├── europa-cases-graph.component.ts
│ │ │ │ │ └── europa-cases-graph.component.css
│ │ │ │ ├── counties-cases
│ │ │ │ │ ├── counties-cases.component.html
│ │ │ │ │ ├── counties-cases.component.scss
│ │ │ │ │ └── counties-cases.component.ts
│ │ │ │ ├── deaths
│ │ │ │ │ ├── deaths.component.css
│ │ │ │ │ ├── deaths.component.html
│ │ │ │ │ └── deaths.component.ts
│ │ │ │ ├── europe-situation
│ │ │ │ │ ├── europe-situation.component.html
│ │ │ │ │ ├── europe-situation.component.css
│ │ │ │ │ └── europe-situation.component.ts
│ │ │ │ ├── statistics.component.scss
│ │ │ │ ├── statistics.component.html
│ │ │ │ ├── general-statistics
│ │ │ │ │ ├── general-statistics.component.scss
│ │ │ │ │ └── general-statistics.component.html
│ │ │ │ └── statistics.component.ts
│ │ │ ├── about
│ │ │ │ ├── about.component.scss
│ │ │ │ └── about.component.ts
│ │ │ ├── main.component.html
│ │ │ ├── maps
│ │ │ │ ├── maps.component.css
│ │ │ │ ├── no2-emission
│ │ │ │ │ ├── no2-emission.component.css
│ │ │ │ │ ├── no2-emission.component.html
│ │ │ │ │ └── no2-emission.component.ts
│ │ │ │ ├── communities
│ │ │ │ │ ├── communities.component.css
│ │ │ │ │ ├── communities.component.html
│ │ │ │ │ └── communities.component.ts
│ │ │ │ ├── frontier-situation
│ │ │ │ │ ├── frontier-situation.component.html
│ │ │ │ │ ├── frontier-situation.component.css
│ │ │ │ │ └── frontier-situation.component.ts
│ │ │ │ ├── european-context
│ │ │ │ │ ├── european-context.component.css
│ │ │ │ │ ├── european-context.component.html
│ │ │ │ │ └── european-context.component.ts
│ │ │ │ ├── hospital-infrastructure
│ │ │ │ │ ├── hospital-infrastructure.component.html
│ │ │ │ │ ├── hospital-infrastructure.component.css
│ │ │ │ │ └── hospital-infrastructure.component.ts
│ │ │ │ ├── social-interest-points
│ │ │ │ │ ├── social-interest-points.component.css
│ │ │ │ │ ├── social-interest-points.component.html
│ │ │ │ │ └── social-interest-points.component.ts
│ │ │ │ ├── maps.component.html
│ │ │ │ └── maps.component.ts
│ │ │ ├── home
│ │ │ │ ├── graphics
│ │ │ │ │ ├── graphics.component.html
│ │ │ │ │ └── graphics.component.scss
│ │ │ │ ├── right-menu
│ │ │ │ │ ├── right-menu.component.scss
│ │ │ │ │ ├── right-menu.component.ts
│ │ │ │ │ └── right-menu.component.html
│ │ │ │ ├── home.component.html
│ │ │ │ ├── home.component.ts
│ │ │ │ ├── left-menu
│ │ │ │ │ ├── left-menu.component.scss
│ │ │ │ │ ├── left-menu.component.ts
│ │ │ │ │ └── left-menu.component.html
│ │ │ │ ├── home.component.scss
│ │ │ │ └── map
│ │ │ │ │ ├── map.component.scss
│ │ │ │ │ └── map.component.html
│ │ │ ├── main.component.ts
│ │ │ └── manifest
│ │ │ │ ├── manifest.component.ts
│ │ │ │ ├── manifest.component.css
│ │ │ │ └── manifest.component.html
│ │ ├── layout
│ │ │ ├── footer
│ │ │ │ ├── footer.component.html
│ │ │ │ ├── footer.component.scss
│ │ │ │ └── footer.component.ts
│ │ │ └── header
│ │ │ │ ├── header.component.html
│ │ │ │ ├── header.component.ts
│ │ │ │ └── header.component.scss
│ │ └── install-prompt
│ │ │ ├── install-prompt.component.scss
│ │ │ ├── install-prompt.component.html
│ │ │ └── install-prompt.component.ts
│ ├── models
│ │ ├── index.ts
│ │ └── user.ts
│ ├── app.component.html
│ ├── interceptors
│ │ ├── index.ts
│ │ ├── error.interceptor.ts
│ │ └── jwt.interceptor.ts
│ ├── services
│ │ ├── index.ts
│ │ ├── statistics.service.ts
│ │ ├── storage.service.ts
│ │ ├── shared.service.ts
│ │ ├── administration.service.ts
│ │ ├── authentication.service.ts
│ │ ├── notifications.service.ts
│ │ ├── pwa.service.ts
│ │ └── dashboard.service.ts
│ ├── interfaces
│ │ └── all-cases-by-county-response.ts
│ ├── app.component.scss
│ ├── guards
│ │ ├── skipIfLoggedIn.guard.ts
│ │ └── auth.guard.service.ts
│ ├── app.component.spec.ts
│ ├── app.component.ts
│ └── app-routing.module.ts
├── favicon.ico
├── main.ts
├── environments
│ ├── environment.prod.ts
│ └── environment.ts
├── test.ts
├── index.html
├── manifest.webmanifest
└── polyfills.ts
├── proxy.conf.json
├── api
├── pgpool.js
├── config.js
├── server.js
└── routes
│ ├── _statistics.js
│ ├── _authentication.js
│ ├── _dashboard.v2.js
│ └── index.js
├── e2e
├── tsconfig.json
├── src
│ ├── app.po.ts
│ └── app.e2e-spec.ts
└── protractor.conf.js
├── .editorconfig
├── tsconfig.app.json
├── tsconfig.spec.json
├── browserslist
├── tsconfig.json
├── ngsw-config.json
├── .gitignore
├── karma.conf.js
├── README.md
├── tslint.json
├── package.json
└── angular.json
/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/app.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/components/login/login.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/components/main/logs/logs.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/models/index.ts:
--------------------------------------------------------------------------------
1 | export * from './user';
--------------------------------------------------------------------------------
/src/app/components/main/community/community.component.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
user-list works!
2 | -------------------------------------------------------------------------------- /src/app/interceptors/index.ts: -------------------------------------------------------------------------------- 1 | export * from './error.interceptor'; 2 | export * from './jwt.interceptor'; -------------------------------------------------------------------------------- /src/assets/images/bkg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/images/bkg.png -------------------------------------------------------------------------------- /src/assets/images/graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/images/graph.png -------------------------------------------------------------------------------- /src/assets/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-128x128.png -------------------------------------------------------------------------------- /src/assets/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-144x144.png -------------------------------------------------------------------------------- /src/assets/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-152x152.png -------------------------------------------------------------------------------- /src/assets/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-192x192.png -------------------------------------------------------------------------------- /src/assets/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-384x384.png -------------------------------------------------------------------------------- /src/assets/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-512x512.png -------------------------------------------------------------------------------- /src/assets/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-72x72.png -------------------------------------------------------------------------------- /src/assets/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/icons/icon-96x96.png -------------------------------------------------------------------------------- /src/assets/images/geospatial_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/images/geospatial_large.png -------------------------------------------------------------------------------- /src/assets/images/geospatial_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geospatialorg/covid19/HEAD/src/assets/images/geospatial_small.png -------------------------------------------------------------------------------- /src/app/components/layout/footer/footer.component.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /proxy.conf.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "/api/*": { 4 | "target": "http://127.0.0.1:6200", 5 | "secure": false, 6 | "logLevel": "debug", 7 | "changeOrigin": true 8 | } 9 | } -------------------------------------------------------------------------------- /src/assets/community.json: -------------------------------------------------------------------------------- 1 | { 2 | "html": "Sectiune in dezvoltare
Aplicația se încarcă...
20 |03.04.2020 13:00: A fost actualizat\u0103 harta cu num\u0103rul de cazuri \u0219i cea cu num\u0103rul de vindec\u0103ri pe baza datelor oficiale.
" 4 | }, 5 | { 6 | "Anun\u021b": "02.04.2020 13:00: A fost actualizat\u0103 harta cu num\u0103rul de cazuri \u0219i cea cu num\u0103rul de vindec\u0103ri. Autorit\u0103\u021bile au revenit la raportarea cazurilor la nivel de jude\u021b.
" 7 | }, 8 | { 9 | "Anun\u021b": "01.04.2020 15:00: Au fost ad\u0103ugate trei vizualiz\u0103ri noi: Harta zonelor carantinate, Harta infrastructurii spitalice\u0219ti suprapus\u0103 peste harta densit\u0103\u021bii popula\u021biei, Graficul situa\u021bie cazurilor \u00een Europa
" 10 | } 11 | ] -------------------------------------------------------------------------------- /src/app/components/layout/header/header.component.html: -------------------------------------------------------------------------------- 1 | 17 | 18 |Începând cu data de 02.04.2020, autoritățile au reluat comunicarea cazurilor le nivel de județ. Cazurile raportate pe hartă și în tabel sunt extrase din comunicatul oficial.
49 |Pentru mai multe informații vă rugăm să consultați secțiunea "Despre".
50 |30 | Cazuri confirmate: {{selectedFeature.get('total_case')}} 31 | (după locul confirmării) 32 |
33 |34 | Total vindecari: {{selectedFeature.get('total_healed')}} 35 | (după locul externării) 36 |
37 |Total decese: {{selectedFeature.get('total_dead')}}
38 | 39 |Legenda
43 | 44 |Populatie: {{selectedQuarantineZone.get('population')}}
49 |{{selectedCheckpoint.get('Descriere')}}
58 |Zona: {{selectedMetropolitan.get('metropolitan_zone')}}
63 | 64 |Populatie: {{selectedMetropolitan.get('population')}}
65 |71 | Începând cu data de 02.04.2020, autoritățile nu mai comunică 72 | numărul de vindecări la nivel de județ, prezentând doar numărul total 73 | al pacienților declarați vindecați. Din această cauză, etichetăm 74 | vindecările noi cu cu locația "JUDEȚ NECUNOSCUT". 75 |
76 | 77 |78 | Echipa de voluntari 79 | verifică sistematic presa locală și anunțurile autorităților publice 80 | locale (DSP-uri, spitale, etc.) și, acolo unde găsește informații 81 | verificabile, mută cazurile din "JUDEȚ NECUNOSCUT" în județul 82 | corect de vindecare. 83 |
84 |
9 | Către: Președinția României
10 | Guvernul României
11 | Ministerul Afacerilor Interne
12 | Departamentului pentru Situații de Urgență
13 | Ministerul Sănătății
14 | Institutul Național de Sănătate Publică
15 |
21 | 22 | Asociația geo-spatial.org solicită autorităților să ofere public o prezentare completă, structurată a tuturor cazurilor oficiale (confirmate, vindecări, decese) actualizată cât mai des posibil, pentru a disemina aceste informații vitale și a evita apariția informațiilor false, potențial alarmiste. 23 | 24 |
25 |26 | Pentru a sprijini accesul cetățenilor la informațiile de interes public, am realizat (prin utilizarea tehnologiilor open source) o hartă a distribuției spațiale a tuturor cazurilor COVID-19 confirmate oficial - Coronavirus COVID-19 România -, o statistică ilustrând evoluția pe zile, precum și un grafic ce permite vizualizarea legăturilor de contaminare. 27 |
28 | 29 |30 | Pentru a menține Coronavirus COVID-19 România actualizat și, astfel, pentru a susține demersul autorităților și al organizațiilor media de a informa corect și prompt populația, solicităm deschiderea datelor publice statistice privind evoluția pandemiei Covid-19 pe teritoriul României, prin publicarea: 31 |
32 |Menționăm că vizualizările noastre au fost preluate de numeroase organizații media în exemplificarea articolelor publicate pentru informarea corectă a populației (HotNews.ro, G4Media.ro, Libertatea.ro, RRI.ro, Euractiv.ro, CRJI, etc) privind evoluția pandemiei.
43 |Demersul nostru, realizat pe bază de voluntariat, a fost inițiat în urma răspândirii coronavirusului Covid-19 până la nivel de pandemie.
44 |Astăzi, gradul de incertitudine privind modificările vieții noastre de zi cu zi, privind evoluția tuturor resorturilor lumii așa cum o cunoșteam, atinge cotele maxime ale generației noastre. Consecințele pandemiei abia se prefigurează, pe fondul adoptării unor măsuri drastice dar necesare: granițe închise, flote întregi de avioane ținute la sol, școli și universități închise, fabrici care își încetează activitatea, trimițând mii de oameni în șomaj tehnic, restaurante, cluburi, cafenele, magazine, locuri de recreere închise, spectacole, campionate, turnee, conferințe anulate, instituirea stării de urgență și multe altele.
45 |Pe fondul noii realități, neliniștea populației crește, conducând la comportamente sociale atipice, precum cozile interminabile de la magazinele alimentare, bancomate sau farmacii. Acestea ar putea degenera, în lipsa unei comunicări publice adecvate, în panică. În astfel de vremuri, doar informarea constantă și actualizată este singura metodă reală prin care populația poate fi conectată la evoluția pandemiei pe teritoriul României, precum și la eforturile autorităților de a o restrânge.
46 | 47 |Apreciem eforturile susținute ale autorităților în a informa inclusiv prin comunicatul de presă zilnic stabilit la ora 13:00 și sugerăm eficientizarea acestei comunicări conform celor explicate în acest document. Autoritățile nu trebuie lăsate singure în acest uriaș efort de comunicare, iar actorii civili pot aduce o semnificativă contribuție în procesarea și vizualizarea datelor, în fluidizarea fluxului informativ către public.
48 | 49 |Menționăm că:
50 |Înțelegem presiunea uriașă și apreciem eforturile autorităților române de a lupta și a restrânge efectele pandemiei de Covid-19. Considerăm însă că eficientizarea fluxului de informare al populației, precum și accesul deschis la datele oficiale complete enumerate mai sus ar reprezenta un ajutor semnificativ, cel puțin din perspectiva informării corecte a populației României.
58 | 59 |Manifest redactat de către Asociația geo-spatial.org și susținut de către:
61 |
62 | Asociația pentru Tehnologie si Internet - ApTI
63 | Centrul pentru Inovare Publică
64 | Funky Citizens
65 | Expert Forum
66 | Comunitatea Declic
67 | Asociația CivicNet
68 | Centrul de Resurse pentru participare publică
69 | Centrul pentru Jurnalism Independent
70 | Centrul Român pentru Jurnalism de Investigație
71 | Freedom House Romania
72 | ActiveWatch
73 | Asociația Pentru Apărarea Drepturilor Omului în România - Comitetul Helsinki (APADOR-CH)
74 | Centrul pentru Inovație în Medicină
75 | Casa Jurnalistului
76 | Asociația Urbannect
77 | Corupția ucide
78 | Geeks 4 Democracy
79 |
83 | Persoană de contact: Vasile Crăciunescu
84 | Mail: vasile@geo-spatial.org
85 |