-
Notifications
You must be signed in to change notification settings - Fork 5
/
index.html
127 lines (122 loc) · 4.71 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>AQ Check</title>
</head>
<body>
<section id="header">
<div class="header-button"></div>
<span id="page-title">AQ Check</span>
<div></div>
</section>
<hr class="line-1 top" />
<section id="content">
<p>A Project to collect real-time air quality data from all over India.</p>
<h1 id="why-do-we-need-it-">Why do we need it?</h1>
<hr class="line-2">
<p>Pollution is a serious issue in cities such as New Delhi, and precise air quality data over small regions is
a
necessity.</p>
<p>Our project aims to set up Arduino based devices with various air quality sensors to retrieve AQ data over
small
regions to provide precise Air Quality results.</p>
<h1 id="how-it-works-">How it works?</h1>
<hr class="line-2">
<ul>
<li>AQ Check uses low-cost, arduino-based, devices that collect air quality data from areas of upto
50m<sup>2</sup>
and send them to a database.</li>
<li>Setting these devices up in multiple locations provides data that is much more precise than currently
available.
</li>
</ul>
<h1 id="development">Development</h1>
<hr class="line-2">
<h2 id="frontend">Frontend</h2>
<ul>
<li><span class="code">React</span></li>
<li><span class="code">SCSS</span></li>
</ul>
<h2 id="backend-">Backend:</h2>
<ul>
<li><span class="code">MongoDB</span></li>
<li><span class="code">Redis</span></li>
<li><span class="code">Express.js</span></li>
</ul>
<h2 id="devops-">DevOps:</h2>
<ul>
<li>
<p><span class="code">Kubernetes</span></p>
<ul>
<li>We used K8s to deploy React, MongoDB, Redis, Node and ElasticSearch on the same cluster in
seperate
pods.</li>
<li>It also allowed to maintain several replicas of each to prevent any downtime in case something
breaks.
</li>
</ul>
</li>
<li>
<p><span class="code">Datree</span></p>
<ul>
<li>Datree checks our K8s config files to prevent any security vulnerabilities and ensure the best
practices
have been followed.</li>
</ul>
</li>
<li>
<p><span class="code">ElasticSearch</span></p>
<ul>
<li>It provides the database for our Twilio bot.</li>
</ul>
</li>
<li>
<p><span class="code">Helm</span></p>
<ul>
<li>We used a Helm chart to effortlessly deploy our ElasticSearch database.</li>
</ul>
</li>
<li>
<p><span class="code">Twilio</span></p>
<ul>
<li>We use a Twilio bot to send daily Air Quality updates to our users via WhatsApp.</li>
</ul>
</li>
<li>
<p><span class="code">GitHub</span></p>
<ul>
<li>Our project repository is stored on GitHub.</li>
<li>Moreover, we use GitHub Actions for CI/CD.</li>
</ul>
</li>
</ul>
<h1 id="future-plans">Future plans</h1>
<hr class="line-2">
<ul>
<li>For testing purposes, we setup one device in Rohini, New Delhi which provides us realtime data for the
locality.
The rest of the data is dummy data scraped from the web. However, the actual project would consist of
these
devices being setup in each locality to provide real-time data.</li>
<li>Another feature that we will implement would use location tracking to provide data from the nearest
sensor
automatically.</li>
</ul>
</section>
<hr class="line-1 bottom" />
<section id="footer">
<ul>
<li>Dhairya Bahl</li>
<li>●</li>
<li>Madhav Budhiraja</li>
<li>●</li>
<li>Samriddh Jain</li>
<li>●</li>
<li>Vaibhav Paliwal</li>
</ul>
</section>
</body>
</html>