-
thomaswoehlke authored
* Fixed #49 EuropeServiceUpdate.__update_data_short() (wontfix) * Fixed #52 download vaccination timeline data file * Fixed #53 import vaccination timeline data file into db * Fixed #54 /vaccination/imported * Fixed #57 frontend: use npm for handling 3rdParty css and javascript modules like jQuery, Bootstrap * Fixed #58 frontend: remove jumbotron from all pageheader, put jumbotron as main content on home page * Fixed #47 major refactoring: Routes from app.py to org...who,europe,... (Doublette von #65) * Fixed #48 major refactoring: Tasks from server_mq.py to org...who,europe,... (Doublette von #65) * Fixed #64 major refactoring: create two packages: for web app and for celery worker * Fixed #68 TODO: move Queries from Services to Model-Classes * Fixed #65 major refactoring: add flask-blueprints for admin, common, europe, rki, vaccination, who ### 0.0.14 Release * Issue #66 frontend: migrate to Bootstrap Theme sb-admin-angular ### 0.0.15 Release * Issue #67 implement Flask-Login ### 0.0.16 Release * Issue #5 Visual Graphs for Data per Countries order by Date * Issue #59 frontend: add correct breadcrumb to every page * Issue #60 frontend: better design for tables * Issue #61 frontend: better design for navtabs * Issue #62 frontend: better design for pages * Issue #63 frontend: add footer design ### 0.0.17 Release * Issue #28 /admin/database/import * Issue #39 SQLalchemy instead of SQL: AllModelClasses.remove_all() * Issue #40 SQLalchemy instead of SQL: EuropeDataImportTable.get_date_rep() * Issue #41 SQLalchemy instead of SQL: EuropeDataImportTable.get_countries_of_continent() * Issue #42 SQLalchemy instead of SQL: WhoGlobalDataImportTable.get_new_dates_as_array() ### 0.0.18 Release *
thomaswoehlke authored* Fixed #49 EuropeServiceUpdate.__update_data_short() (wontfix) * Fixed #52 download vaccination timeline data file * Fixed #53 import vaccination timeline data file into db * Fixed #54 /vaccination/imported * Fixed #57 frontend: use npm for handling 3rdParty css and javascript modules like jQuery, Bootstrap * Fixed #58 frontend: remove jumbotron from all pageheader, put jumbotron as main content on home page * Fixed #47 major refactoring: Routes from app.py to org...who,europe,... (Doublette von #65) * Fixed #48 major refactoring: Tasks from server_mq.py to org...who,europe,... (Doublette von #65) * Fixed #64 major refactoring: create two packages: for web app and for celery worker * Fixed #68 TODO: move Queries from Services to Model-Classes * Fixed #65 major refactoring: add flask-blueprints for admin, common, europe, rki, vaccination, who ### 0.0.14 Release * Issue #66 frontend: migrate to Bootstrap Theme sb-admin-angular ### 0.0.15 Release * Issue #67 implement Flask-Login ### 0.0.16 Release * Issue #5 Visual Graphs for Data per Countries order by Date * Issue #59 frontend: add correct breadcrumb to every page * Issue #60 frontend: better design for tables * Issue #61 frontend: better design for navtabs * Issue #62 frontend: better design for pages * Issue #63 frontend: add footer design ### 0.0.17 Release * Issue #28 /admin/database/import * Issue #39 SQLalchemy instead of SQL: AllModelClasses.remove_all() * Issue #40 SQLalchemy instead of SQL: EuropeDataImportTable.get_date_rep() * Issue #41 SQLalchemy instead of SQL: EuropeDataImportTable.get_countries_of_continent() * Issue #42 SQLalchemy instead of SQL: WhoGlobalDataImportTable.get_new_dates_as_array() ### 0.0.18 Release *
README.md 9.00 KiB
covid19python
- Version 0.0.5 SNAPSHOT
git
- gitlab: https://git.noc.ruhr-uni-bochum.de/learn_r_and_python/covid19python.git
- github: https://github.com/thomaswoehlke/covid19python.git
Data Sources:
Python
- flask
- flask: pypi
- flask: flask-admin
- flask: werkzeug
- flask: sqlalchemy
- sqlalchemy
- sqlite
- jinja
- jinja: markupsafe
- jinja: itsdangerous
- jinja: click
Info
- http://www.leeladharan.com/sqlalchemy-query-with-or-and-like-common-filters
- https://riptutorial.com/flask/example/22201/pagination-route-example-with-flask-sqlalchemy-paginate
Database
WHO
who_date_reported
CREATE TABLE public.who_date_reported (
id integer NOT NULL,
date_reported character varying(255) NOT NULL
);
class WhoDateReported(db.Model):
__tablename__ = 'who_date_reported'
id = db.Column(db.Integer, primary_key=True)
date_reported = db.Column(db.String(255), unique=True, nullable=False)
who_region
CREATE TABLE public.who_region (
id integer NOT NULL,
region character varying(255) NOT NULL
);
class WhoRegion(db.Model):
__tablename__ = 'who_region'
id = db.Column(db.Integer, primary_key=True)
region = db.Column(db.String(255), unique=True, nullable=False)
who_country
CREATE TABLE public.who_country (
id integer NOT NULL,
country_code character varying(255) NOT NULL,
country character varying(255) NOT NULL,
region_id integer NOT NULL
);
class WhoCountry(db.Model):
__tablename__ = 'who_country'
id = db.Column(db.Integer, primary_key=True)
country_code = db.Column(db.String(255), unique=True, nullable=False)
country = db.Column(db.String(255), unique=False, nullable=False)
region_id = db.Column(db.Integer, db.ForeignKey('who_region.id'), nullable=False)
region = db.relationship('WhoRegion', lazy='joined')
who_global_data
CREATE TABLE public.who_global_data (
id integer NOT NULL,
cases_new integer NOT NULL,
cases_cumulative integer NOT NULL,
deaths_new integer NOT NULL,
deaths_cumulative integer NOT NULL,
date_reported_id integer NOT NULL,
country_id integer NOT NULL
);
class WhoGlobalData(db.Model):
__tablename__ = 'who_global_data'
id = db.Column(db.Integer, primary_key=True)
cases_new = db.Column(db.Integer, nullable=False)
cases_cumulative = db.Column(db.Integer, nullable=False)
deaths_new = db.Column(db.Integer, nullable=False)
deaths_cumulative = db.Column(db.Integer, nullable=False)
date_reported_id = db.Column(db.Integer, db.ForeignKey('who_date_reported.id'), nullable=False)
date_reported = db.relationship('WhoDateReported', lazy='joined')
country_id = db.Column(db.Integer, db.ForeignKey('who_country.id'), nullable=False)
country = db.relationship('WhoCountry', lazy='joined')
who_global_data_import
CREATE TABLE public.who_global_data_import (
id integer NOT NULL,
date_reported character varying(255) NOT NULL,
country_code character varying(255) NOT NULL,
country character varying(255) NOT NULL,
who_region character varying(255) NOT NULL,
new_cases character varying(255) NOT NULL,
cumulative_cases character varying(255) NOT NULL,
new_deaths character varying(255) NOT NULL,
cumulative_deaths character varying(255) NOT NULL,
row_imported boolean NOT NULL
);
class WhoGlobalDataImportTable(db.Model):
__tablename__ = 'who_global_data_import'
id = db.Column(db.Integer, primary_key=True)
date_reported = db.Column(db.String(255), nullable=False)
country_code = db.Column(db.String(255), nullable=False)
country = db.Column(db.String(255), nullable=False)
who_region = db.Column(db.String(255), nullable=False)
new_cases = db.Column(db.String(255), nullable=False)
cumulative_cases = db.Column(db.String(255), nullable=False)
new_deaths = db.Column(db.String(255), nullable=False)
cumulative_deaths = db.Column(db.String(255), nullable=False)
row_imported = db.Column(db.Boolean, nullable=False)
Milestones
0.0.1 Release
- Fixed #1 (closed) test 1 2 3