first commit

This commit is contained in:
2021-05-14 14:41:00 +05:30
commit b9f8614ddf
385 changed files with 31180 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
<!-- Footer -->
<footer class="footer">
<div class="row align-items-center justify-content-xl-between">
<div class="col-xl-6">
<div class="text-center text-xl-left ">
<a href="https://github.com/psmattas/covid19-dashboard" class="font-weight-bold ml-1 text-muted"
target="_blank">covid19-dashboard</a>
</div>
</div>
<div class="col-xl-6">
<div class="text-center text-xl-right ">
<a href="https://psmforums.wordpress.com" class="font-weight-bold ml-1 text-muted" target="_blank">@psmforums
</div>
</div>
</div>
</footer>

View File

@@ -0,0 +1,97 @@
{% load humanize %}
{% load trend %}
<!-- Header -->
<div class="header pb-8 pt-5 pt-md-6 bg-secondary">
<div class="container-fluid">
<div class="header-body">
<!-- Card stats -->
<div class="row">
<div class="col-xl-3 col-lg-6">
<div class="card shadow card-stats mb-4 mb-xl-0 fade-in-top">
<div class="card-body ">
<div class="row">
<div class="col">
<h5 class="card-title text-uppercase text-muted mb-0">Confirmed</h5>
<span id="daily_confirmed_label" class="h2 font-weight-bold mb-0">0</span>
</div>
<div class="col-auto">
<div class="icon icon-shape bg-primary text-white rounded-circle shadow">
<i class="fas fa-virus"></i>
</div>
</div>
</div>
<p class="mt-3 mb-0 text-muted text-sm">
<span id="trend_confirmed_label" class="mr-2">+0%</span>
<span class="text-nowrap">Since last week</span>
</p>
</div>
</div>
</div>
<div class="col-xl-3 col-lg-6">
<div class="card shadow card-stats mb-4 mb-xl-0 fade-in-top">
<div class="card-body ">
<div class="row">
<div class="col">
<h5 class="card-title text-uppercase text-muted mb-0">Recovered</h5>
<span id="daily_recovered_label" class="h2 font-weight-bold mb-0">0</span>
</div>
<div class="col-auto">
<div class="icon icon-shape bg-green text-white rounded-circle shadow">
<i class="fas fa-heartbeat"></i>
</div>
</div>
</div>
<p class="mt-3 mb-0 text-muted text-sm">
<span id="trend_recovered_label" class="mr-2">+0%</span>
<span class="text-nowrap">Since last week</span>
</p>
</div>
</div>
</div>
<div class="col-xl-3 col-lg-6">
<div class="card shadow card-stats mb-4 mb-xl-0 fade-in-top">
<div class="card-body ">
<div class="row">
<div class="col">
<h5 class="card-title text-uppercase text-muted mb-0">Deaths</h5>
<span id="daily_deaths_label" class="h2 font-weight-bold mb-0">0</span>
</div>
<div class="col-auto">
<div class="icon icon-shape bg-danger text-white rounded-circle shadow">
<i class="fa fa-skull-crossbones"></i>
</div>
</div>
</div>
<p class="mt-3 mb-0 text-muted text-sm">
<span id="trend_deaths_label" class="mr-2">+0%</span>
<span class="text-nowrap">Since last week</span>
</p>
</div>
</div>
</div>
<div class="col-xl-3 col-lg-6">
<div class="card shadow card-stats mb-4 mb-xl-0 fade-in-top">
<div class="card-body ">
<div class="row">
<div class="col">
<h5 class="card-title text-uppercase text-muted mb-0">Death Rate</h5>
<span id="daily_death_rate_label" class="h2 font-weight-bold mb-0">0</span>
</div>
<div class="col-auto">
<div class="icon icon-shape bg-warning text-white rounded-circle shadow">
<i class="fa fa-percent"></i>
</div>
</div>
</div>
<p class="mt-3 mb-0 text-muted text-sm">
<span id="trend_death_rate_label" class="mr-2">+0</span>
<span class="text-nowrap">Since last week</span>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<!-- Core -->
<script src="/static/assets/js/plugins/jquery/dist/jquery.min.js"></script>
<script src="/static/assets/js/plugins/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- Argon JS -->
<script src="/static/assets/js/argon-dashboard.min.js?v=1.1.0"></script>

View File

@@ -0,0 +1,80 @@
<nav class="navbar navbar-vertical fixed-left navbar-expand-md navbar-dark bg-dark" id="sidenav-main">
<div class="container-fluid">
<!-- Toggler -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Brand -->
<a class="navbar-brand pt-0" href="/">
<img src="/static\assets/img/brand/blue.png" class="navbar-brand-img" alt="https://psmforums.wordpress.com">
</a>
<!-- User -->
<ul class="nav align-items-center d-md-none">
<li class="nav-item dropdown">
<a class="nav-link nav-link-icon" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-info-circle"></i>
</a>
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right" aria-labelledby="navbar-default_dropdown_1">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
<!-- Collapse -->
<div class="collapse navbar-collapse" id="sidenav-collapse-main">
<!-- Collapse header -->
<div class="navbar-collapse-header d-md-none">
<div class="row">
<div class="col-6 collapse-brand">
<a href="./">
<img src="/static\assets/img/brand/white.png">
</a>
</div>
<div class="col-6 collapse-close">
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle sidenav">
<span></span>
<span></span>
</button>
</div>
</div>
</div>
<!-- Navigation -->
<ul class="navbar-nav">
<li class="nav-item home-item">
<a class=" nav-link active text-light fade-in-left " href="/"><i class="fas fa-home text-primary "></i>Home
</a>
</li>
<li class="nav-item maps-item">
<a class="nav-link text-light fade-in-left " href="/maps.html">
<i class="fas fa-map-marked-alt text-warning"></i>Maps
</a>
</li>
</ul>
<!-- Divider -->
<hr class="my-3">
<!-- Heading -->
<!-- Navigation -->
<ul class="navbar-nav mb-md-3 ">
<li class="nav-item">
<a class="nav-link text-muted fade-in-left" href="https://github.com/psmattas/covid19-dashboard" target="_blank">
<i class="fab fa-github " style="font-size:1.1rem;"></i>Code
</a>
</li>
<li class="nav-item data-item">
<a class="nav-link text-muted fade-in-left" href="/data.html">
<i class="fas fa-database"></i>Data
</a>
</li>
</ul>
</div>
</div>
</nav>

129
core/templates/index.html Normal file
View File

@@ -0,0 +1,129 @@
{% extends 'layouts/base.html' %}
{% load humanize %}
{% block title %} Home {% endblock title %}
<!-- Specific CSS goes HERE -->
{% block stylesheets %}{% endblock stylesheets %}
{% block content %}
{% include "includes/header.html" %}
<div class="container-fluid mt--7 bg-secondary">
<div class="row">
<div class="col-xl-8 mb-5 mb-xl-0"> <!-- Global interactive Plotly Mabpox -->
<div class="card shadow fade-in-bottom">
<div class="card-body plotly worldmap">
<div id="world_map" class="chart" style="height: 100%;"></div>
</div>
<div style="position: absolute; padding:1.25rem 1.5rem;">
<h6 class="text-uppercase text-muted ls-1 mb-1">Global | Cumulative</h6>
<h2 class="text-dark mb-0">Mapbox</h2>
</div>
</div>
</div>
<div class="col-xl-4"> <!-- Growth interactive scatterplot -->
<div class="card bg-dark shadow fade-in-bottom">
<div class="card-header bg-transparent">
<div class="row align-items-center">
<div class="col">
<h6 class="text-uppercase text-light ls-1 mb-1">Global | Cumulative</h6>
<h2 class="text-white mb-0">Growth</h2>
</div>
<div class="col text-right">
<a class="btn btn-sm btn-light" tabindex="0" role="button" data-toggle="popover" data-trigger="focus" title="Info"
data-content="Global cumulative growth in cases since collection of data started. Defaulted to logarithmic y-scale">
&nbsp;<i class="fas fa-info text-dark">&nbsp;</i>
</a>
</div>
</div>
</div>
<div class="card-body plotly">
<div id="realtime_growth_chart" class="chart" style="height: 310px;"></div>
</div>
</div>
</div>
</div>
<div class="row mt-5">
<div class="col-xl-8 mb-5 mb-xl-0"> <!-- Global daily growth plot -->
<div class="card shadow">
<div class="card-header bg-transparent">
<div class="row align-items-center">
<div class="col">
<h6 class="text-uppercase text-muted ls-1 mb-1">Global | Daily</h6>
<h2 class="mb-0">Daily Growth</h2>
</div>
<div class="col text-right">
<a class="btn btn-sm btn-white" tabindex="0" role="button" data-toggle="popover" data-trigger="focus" title="Info"
data-content="Daily time series of cases. Bars can be stacked for relative adjacent comparison by toggling 'confirmed' cases.">
&nbsp;<i class="fas fa-info">&nbsp;</i>
</a>
</div>
</div>
</div>
<div class="card-body plotly">
<div id="daily_growth_chart" class="chart"style="height: 310px;"></div>
</div>
</div>
</div>
<div class="col-xl-4">
<div class="card shadow">
<div class="card-header bg-transparent">
<div class="row align-items-center">
<div class="col">
<h6 class="text-uppercase text-muted ls-1 mb-1">Global | Sortable</h6>
<h2 class="mb-0">Cases</h2>
</div>
<div class="col text-right">
<a href="#!" class="btn btn-sm btn-white">
&nbsp;<i class="fas fa-download">&nbsp;</i>
</a>
</div>
</div>
</div>
<div class="table-responsive">
<!-- cases table -->
<table id="cases_table" class="table align-items-center table-flush">
<thead class="thead-light">
<tr>
<th scope="col">Country</th>
<th scope="col">Confirmed</th>
<th scope="col">Recovered</th>
<th scope="col">Deaths</th>
<th scope="col">Death Rate %</th>
</tr>
</thead>
<tbody id="cases_table_body"></tbody>
</table>
</div>
</div>
</div>
</div>
{% include "includes/footer.html" %}
</div>
{% endblock content %}
<!-- Specific JS goes HERE -->
{% block javascripts %}
<script>
$('.nav-item a').removeClass('active');
$('.home-item a').addClass('active');
</script>
<!-- Sortable Tables -->
<script defer src="/static/assets/js/sorttable.js"></script>
<!-- Plotly.js CDN -->
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/plotly.js/1.54.6/plotly.min.js"></script>
<!-- Load and display data -->
<script defer src="/static/assets/js/fetch-data.js"></script>
{% endblock javascripts %}

View File

@@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<!-- Static assets - Used to load the Favicon -->
{% load static %}
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>
COVID-19 Dashboard | {% block title %} Open-Source analytics dashboard {% endblock %}
</title>
<!-- Favicon - loaded as static -->
<link rel="icon" href="{% static 'assets/img/brand/favicon.ico' %}" type="image/png" media="print" onload="this.media='all'"/>
<noscript><link rel="icon" href="{% static 'assets/img/brand/favicon.ico' %}" type="image/png"/></noscript>
<!-- Fonts -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap" media="print" onload="this.media='all'"/>
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap"/></noscript>
<!-- Icons -->
<script defer src="https://kit.fontawesome.com/189832a678.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/static/assets/css/style.css?v=1.1.0" media="print" onload="this.media='all'"/>
<noscript><link rel="stylesheet" href="/static/assets/css/style.css?v=1.1.0"/></noscript>
<!-- Specific CSS goes HERE -->
{% block stylesheets %}
{% endblock stylesheets %}
</head>
<body class="">
{% include "includes/sidenav.html" %}
<div class="main-content">
{% block content %}{% endblock content %}
</div>
{% include "includes/scripts.html" %}
<!-- Specific JS goes HERE -->
{% block javascripts %}{% endblock javascripts %}
</body>
</html>

View File

@@ -0,0 +1,27 @@
{% extends 'layouts/base.html' %}
{% block title %} Data {% endblock title %}
{% block content %}
<div class="container-fluid pt-6 bg-secondary">
<h2>Data</h2>
<p>Data sources used throughout the project.</p>
<ul class="list-group list-group-flush">
<li class="list-group-item"><a href="https://github.com/CSSEGISandData/COVID-19">Johns Hopkins</a></li>
<li class="list-group-item"><a href="https://github.com/owid/covid-19-data/tree/master/public/data">Our World In Data</a></li>
<li class="list-group-item"><a href="https://github.com/nytimes/covid-19-data">New York Times</a></li>
</ul>
{% include "includes/footer.html" %}
</div>
{% endblock content %}
<!-- Specific JS goes HERE -->
{% block javascripts %}
<script>
$('.nav-item a').removeClass('active');
$('.data-item a').addClass('active');
</script>
{% endblock javascripts %}

View File

@@ -0,0 +1,33 @@
{% block title %} Error 404 {% endblock title %}
<!-- Specific CSS goes HERE -->
{% block stylesheets %}{% endblock stylesheets %}
{% block content %}
<!-- Page content -->
<div class="container mt--8 pb-5">
<div class="row justify-content-center">
<div class="col-lg-5 col-md-7">
<div class="card bg-secondary shadow border-0">
<div class="card-header bg-transparent pb-5">
<div class="text-muted bg-transparent text-center mt-2 mb-3">
<h2> Oops! Error 404</h2>
</div>
<div class="text-center mb-4">
Page not found
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock content %}
<!-- Specific JS goes HERE -->
{% block javascripts %}{% endblock javascripts %}

View File

@@ -0,0 +1,39 @@
{% extends 'layouts/base.html' %}
{% block title %} Maps {% endblock title %}
{% block content %}
<div class="container-fluid pt-6 bg-secondary">
<h2>Maps</h2>
<p>Country level maps. More coming soon!</p>
<div class="row">
<div class="col-xl-12 mb-5 mb-xl-0"> <!-- Global interactive Plotly Mabpox -->
<div class="card shadow fade-in-bottom">
<div class="card-body plotly worldmap">
<script src="https://cdnjs.cloudflare.com/ajax/libs/plotly.js/1.54.6/plotly.min.js"></script>
<div class="chart">
{% autoescape off %}
{{ usa_map }}
{% endautoescape %}
</div>
</div>
<div style="position: absolute; padding:1.25rem 1.5rem;">
<h6 class="text-uppercase text-muted ls-1 mb-1">USA Counties | Per Capita</h6>
<h2 class="text-dark mb-0">Per 100k Residents</h2>
</div>
</div>
</div>
</div>
{% include "includes/footer.html" %}
</div>
{% endblock content %}
<!-- Specific JS goes HERE -->
{% block javascripts %}
<script>
$('.nav-item a').removeClass('active');
$('.maps-item a').addClass('active');
</script>
{% endblock javascripts %}