diff --git a/frontend/home/home.css b/frontend/home/home.css
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/home/home.html b/frontend/home/home.html
new file mode 100644
index 0000000..0cec106
--- /dev/null
+++ b/frontend/home/home.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+ Temperature-Alarm-Web
+
+
+ hello
+
+
\ No newline at end of file
diff --git a/frontend/home/home.js b/frontend/home/home.js
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/services/devices.service.js b/frontend/services/devices.service.js
new file mode 100644
index 0000000..299fe1d
--- /dev/null
+++ b/frontend/services/devices.service.js
@@ -0,0 +1,27 @@
+const address = "http://10.135.51.116/temperature-alarm-webapi/devices"
+
+function getDevicesOnUserId(id) {
+ fetch(`${address}/get-on-user-id`, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({ id: id })
+ })
+ .then(response => response.json())
+ .then(data => console.log("Success:", data))
+ .catch(error => console.error("Error:", error));
+}
+
+function update(ids) {
+ fetch(`${address}/get-on-user-id`, {
+ method: "PATCH",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({ ids: ids })
+ })
+ .then(response => response.json())
+ .then(data => console.log("Success:", data))
+ .catch(error => console.error("Error:", error));
+}
\ No newline at end of file
diff --git a/frontend/services/temperature-logs.service.js b/frontend/services/temperature-logs.service.js
new file mode 100644
index 0000000..579e852
--- /dev/null
+++ b/frontend/services/temperature-logs.service.js
@@ -0,0 +1,14 @@
+const address = "http://10.135.51.116/temperature-alarm-webapi/temperature-logs"
+
+function getOnDeviceIds(ids) {
+ fetch(`${address}/get-on-device-ids`, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({ ids: ids })
+ })
+ .then(response => response.json())
+ .then(data => console.log("Success:", data))
+ .catch(error => console.error("Error:", error));
+}
\ No newline at end of file
diff --git a/frontend/services/users.service.js b/frontend/services/users.service.js
new file mode 100644
index 0000000..4b7d530
--- /dev/null
+++ b/frontend/services/users.service.js
@@ -0,0 +1,40 @@
+const address = "http://10.135.51.116/temperature-alarm-webapi/users"
+
+function login(username, password) {
+ fetch(`${address}/login`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({username: username, password: password})
+ })
+ .then(response => response.json())
+ .then(data => console.log("Success:", data))
+ .catch(error => console.error("Error:", error));
+}
+
+function create(email, username, password){
+ fetch(`${address}/create`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({email: email, username: username, password: password})
+ })
+ .then(response => response.json())
+ .then(data => console.log("Success:", data))
+ .catch(error => console.error("Error:", error));
+}
+
+function update(email, username, password){
+ fetch(`${address}/update`, {
+ method: "PATCH",
+ headers: {
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({email: email, username: username, password: password})
+ })
+ .then(response => response.json())
+ .then(data => console.log("Success:", data))
+ .catch(error => console.error("Error:", error));
+}
\ No newline at end of file
diff --git a/iot/.gitignore b/iot/.gitignore
new file mode 100644
index 0000000..aadaa90
--- /dev/null
+++ b/iot/.gitignore
@@ -0,0 +1,3 @@
+a.out
+config.h
+
diff --git a/iot/Makefile b/iot/Makefile
new file mode 100644
index 0000000..563e22c
--- /dev/null
+++ b/iot/Makefile
@@ -0,0 +1,3 @@
+all: main.c
+ $(CC) -lmosquitto main.c
+
diff --git a/iot/config.example.h b/iot/config.example.h
new file mode 100644
index 0000000..20d78c9
--- /dev/null
+++ b/iot/config.example.h
@@ -0,0 +1,5 @@
+#define MQTT_IP "127.0.0.1"
+#define MQTT_PORT 1883
+#define MQTT_USER "user"
+#define MQTT_PASSWORD "password"
+
diff --git a/iot/main.c b/iot/main.c
new file mode 100644
index 0000000..3862f39
--- /dev/null
+++ b/iot/main.c
@@ -0,0 +1,44 @@
+#include
+#include
+#include
+
+#include "config.h"
+
+void on_connect(struct mosquitto *client, void *obj, int rc)
+{
+ if (rc != 0) {
+ fprintf(stderr, "%s\n", mosquitto_connack_string(rc));
+ return;
+ }
+
+ puts("Connected to " MQTT_IP);
+}
+
+void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message *message)
+{
+ printf("Received message on topic %s\n", message->topic);
+}
+
+int main(void)
+{
+ int version[3];
+ mosquitto_lib_init();
+ mosquitto_lib_version(&version[0], &version[1], &version[2]);
+ printf("Using mosquitto library version %i.%i.%i\n", version[0], version[1], version[2]);
+
+ struct mosquitto *mosq = mosquitto_new(NULL, true, NULL);
+
+ mosquitto_connect_callback_set(mosq, on_connect);
+ mosquitto_message_callback_set(mosq, on_message);
+
+ mosquitto_username_pw_set(mosq, MQTT_USER, MQTT_PASSWORD);
+ mosquitto_connect(mosq, MQTT_IP, MQTT_PORT, 60);
+
+ mosquitto_loop_forever(mosq, -1, 1);
+
+ mosquitto_destroy(mosq);
+ mosquitto_lib_cleanup();
+
+ return EXIT_SUCCESS;
+}
+