Skip to content

Commit

Permalink
Add Backend (#3)
Browse files Browse the repository at this point in the history
* Design changes frontend
* Added Backend and optimized JS
* Added Authentication
* RESET API authKey
  • Loading branch information
aessing authored Apr 10, 2021
1 parent 8ed2b66 commit 2267cdb
Show file tree
Hide file tree
Showing 14 changed files with 542 additions and 128 deletions.
Binary file added .media/AppleIcon.afphoto
Binary file not shown.
1 change: 1 addition & 0 deletions .media/face-mask.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 14 additions & 8 deletions api/resetTestStatus/index.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,32 @@
const tableStore = require(`azure-storage`);

module.exports = async function (context) {
let classes = await getClasses();
let responseStatus = await resetTestStatus(classes);
module.exports = async function (context, req) {
const authKey = req.query.authkey || (req.body && req.body.authkey);
let responseStatus;

let responseMessage;
if (process.env['RESET_AUTH_KEY'] === authKey) {
let classes = await getClasses();
responseStatus = await resetTestStatus(classes);
} else {
responseStatus = 401;
}

console.log(responseStatus);
let responseMessage;

switch (responseStatus) {
case 200:
responseMessage = `SUCCESS: Reset status of all classes`;
break;
case 401:
responseMessage = `ERROR: AuthKey mismatch`;
break;
case 500:
responseMessage = `ERROR: Couldn't update status of sll classes`;
responseMessage = `ERROR: Couldn't update status of all classes`;
break;
default:
responseMessage = `UNDEFINED: Unknown error`;
}

console.log(responseMessage);

context.res = {
status: responseStatus,
body: `{ "statusMessage": "${responseMessage}" }`,
Expand Down
144 changes: 144 additions & 0 deletions web/admin/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
<!DOCTYPE html>
<html class="loading" lang="en" data-textdirection="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui" />

<!-- Site Info
============================================= -->
<title>COVID-19 Test Dashboard | Montessori Erding</title>
<meta name="author" content="Montessori Schule Aufkirchen" />
<meta
name="description"
content="Eltern können mit diesem Dashboard erkennen, ob die Klassen Ihrer Kinder das Testen abgeschlossen haben. Das soll Eltern mit langem Anfahrtsweg ermöglichen, Ihren Tag besser zu planen zu können."
/>
<meta
name="keywords"
content="Montessori, Schule, Aufkirchen, Verein, Erding, Schüler, Kinder, Dashboard, Corona, COVID, COVID-19, Test"
/>

<!-- Twitter
============================================= -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:description"
content="Eltern können mit diesem Dashboard erkennen, ob die Klassen Ihrer Kinder das Testen abgeschlossen haben. Das soll Eltern mit langem Anfahrtsweg ermöglichen, Ihren Tag besser zu planen zu können."
/>
<meta name="twitter:image" content="https://covid.montessori-erding.de/images/banner.jpg" />
<meta name="twitter:title" content="COVID-19 Test Dashboard | Montessori Erding" />

<!-- Opengraph
============================================= -->
<meta
property="og:description"
content="Eltern können mit diesem Dashboard erkennen, ob die Klassen Ihrer Kinder das Testen abgeschlossen haben. Das soll Eltern mit langem Anfahrtsweg ermöglichen, Ihren Tag besser zu planen zu können."
/>
<meta property="og:image" content="https://covid.montessori-erding.de/images/banner.jpg" />
<meta property="og:image:width" content="1280" />
<meta property="og:image:height" content="640" />
<meta property="og:locale" content="de_DE" />
<meta property="og:site_name" content="COVID-19 Test Dashboard" />
<meta property="og:title" content="COVID-19 Test Dashboard | Montessori Erding" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://covid.montessori-erding.de/" />

<!-- Favicon
============================================= -->
<link rel="icon" href="/favicon.png" type="image/png" />
<link rel="apple-touch-icon" href="/images/shortcut.png" />
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="/images/shortcut.png" />

<!-- Fonts
============================================= -->
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i%7CQuicksand:300,400,500,700"
rel="stylesheet"
/>

<!-- Stylesheets
============================================= -->
<link rel="stylesheet" type="text/css" href="/css/material-vendors.min.css" />
<link rel="stylesheet" type="text/css" href="/css/material.css" />
<link rel="stylesheet" type="text/css" href="/css/components.css" />
<link rel="stylesheet" type="text/css" href="/css/bootstrap-extended.css" />
<link rel="stylesheet" type="text/css" href="/css/material-extended.css" />
<link rel="stylesheet" type="text/css" href="/css/material-colors.css" />
<link rel="stylesheet" type="text/css" href="/css/palette-gradient.css" />
<link rel="stylesheet" type="text/css" href="/css/style.css" />
</head>

<body class="horizontal-layout material-horizontal-layout material-layout 1-column content-boxed-layout">
<!-- Header
============================================= -->
<nav
class="header-navbar navbar-expand-md navbar navbar-without-dd-arrow navbar-static-top navbar-light navbar-brand-center"
>
<div class="navbar-wrapper">
<div class="navbar-header">
<ul class="nav navbar-nav flex-row">
<li class="nav-item">
<a class="navbar-brand" href="index.html"
><img style="height: 35px" alt="Montessori Erding Logi" src="/images/logo.svg" />
</a>
</li>
</ul>
</div>
</div>
</nav>

<!-- Content
============================================= -->
<div class="app-content container center-layout mt-2">
<div class="content-header row"></div>
<div class="content-overlay"></div>
<div class="content-wrapper">
<div class="content-header row">
<div class="content-header-left col-md-6 col-12 mb-1">
<h2 class="content-header-title">COVID-19 Test Dashboard</h2>
</div>
<div class="content-header-right text-right col-md-6 col-12 mb-1">
<a
class="btn btn-secondary btn-min-width waves-effect waves-light m-1"
href="/.auth/logout?post_logout_redirect_uri=https://calm-flower-031c41e03.azurestaticapps.net/"
>
Logout
</a>
</div>
</div>
<div class="content-body"></div>
</div>
</div>

<!-- Footer
============================================= -->
<footer class="footer footer-transparent footer-light navbar-shadow .fixed-bottom">
<p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2 container center-layout">
<span class="float-md-left d-block d-md-inline-block"
>Copyright &copy; 2021
<a class="text-bold-800 grey darken-2" href="https://www.montessori-erding.de/" target="_blank"
>Montessori Verein Lkr. Erding e.V.</a
>
|
<a
class="text-bold-800 grey darken-2"
href="https://www.montessori-erding.de/service/impressumdatenschutz/"
target="_blank"
>Impressum / Datenschutz</a
> </span
><span class="float-md-right d-none d-lg-block"
>Hand-crafted & Made with<i class="ft-heart pink"></i> by parents<span id="scroll-top"></span
></span>
</p>
</footer>

<!-- Javascript
============================================= -->
<script src="js/script.js"></script>
<script>
showClasses();
</script>
</body>
</html>
Loading

0 comments on commit 2267cdb

Please sign in to comment.