Diff between 10ae0bd3148c66382fe0866a7a3327cbed502424 and 1aa635392ef45a3dc2c96c718956acc08fcfa562

Changed Files

File Additions Deletions Status
.gitignore +0 -0 added
app.lua +19 -0 modified
koivuhaka.sqlite +0 -0 modified
logs/access.log +138 -0 added
logs/error.log +2 -0 added
logs/nginx.pid +1 -0 added
views/index.etlua +29 -3 modified

Full Patch

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.gitignore
diff --git a/app.lua b/app.lua
index 4d1acce..3af69ce 100644
--- a/app.lua
+++ b/app.lua
@@ -5,8 +5,27 @@ local app = lapis.Application()
 app:enable("etlua")
 app.layout = require "views.layout"
 
+-- Source - https://stackoverflow.com/a
+-- Posted by hookenz, modified by community. See post 'Timeline' for change history
+-- Retrieved 2025-11-26, License - CC BY-SA 4.0
+
+local function dump(o)
+   if type(o) == 'table' then
+      local s = '{ '
+      for k,v in pairs(o) do
+         if type(k) ~= 'number' then k = '"'..k..'"' end
+         s = s .. '['..k..'] = ' .. dump(v) .. ','
+      end
+      return s .. '} '
+   else
+      return tostring(o)
+   end
+end
+
+
 app:get("/", function(self)
     local res = db.query("SELECT * FROM asunnot")
+    self.dump = dump(res)
     self.asunnot = res
     return { render = "index" }
 end)
diff --git a/koivuhaka.sqlite b/koivuhaka.sqlite
index b3d66b8..4e7ad2a 100644
Binary files a/koivuhaka.sqlite and b/koivuhaka.sqlite differ
diff --git a/logs/access.log b/logs/access.log
new file mode 100644
index 0000000..de3be99
--- /dev/null
+++ b/logs/access.log
@@ -0,0 +1,138 @@
+127.0.0.1 - - [25/Nov/2025:14:43:15 +0200] "GET / HTTP/1.1" 200 4229 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [25/Nov/2025:14:44:24 +0200] "GET / HTTP/1.1" 200 4847 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [25/Nov/2025:14:44:59 +0200] "GET / HTTP/1.1" 200 5039 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [25/Nov/2025:14:45:33 +0200] "GET / HTTP/1.1" 200 4931 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [25/Nov/2025:14:46:07 +0200] "GET / HTTP/1.1" 200 4949 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [25/Nov/2025:14:46:12 +0200] "GET / HTTP/1.1" 200 4955 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [25/Nov/2025:14:46:13 +0200] "GET / HTTP/1.1" 200 4955 "http://localhost:8080/Pentulive" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:03:51 +0200] "GET / HTTP/1.1" 200 4955 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:03:51 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:03:51 +0200] "GET / HTTP/1.1" 200 4955 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:13:20 +0200] "GET / HTTP/1.1" 200 4955 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:17:39 +0200] "GET / HTTP/1.1" 200 5129 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:18:12 +0200] "GET / HTTP/1.1" 200 5067 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:22:43 +0200] "GET / HTTP/1.1" 200 5375 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:23:03 +0200] "GET / HTTP/1.1" 200 5393 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:24:18 +0200] "GET / HTTP/1.1" 200 5389 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:25:23 +0200] "GET / HTTP/1.1" 200 5419 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:25:35 +0200] "GET / HTTP/1.1" 200 5406 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:26:48 +0200] "GET / HTTP/1.1" 200 5411 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:27:05 +0200] "GET / HTTP/1.1" 200 5411 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:28:39 +0200] "GET / HTTP/1.1" 200 5428 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:29:07 +0200] "GET / HTTP/1.1" 200 5434 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:30:01 +0200] "GET / HTTP/1.1" 200 5396 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:32:08 +0200] "GET / HTTP/1.1" 200 5806 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:32:25 +0200] "GET / HTTP/1.1" 200 5812 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:32:55 +0200] "GET / HTTP/1.1" 200 5804 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:33:12 +0200] "GET / HTTP/1.1" 200 5809 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:33:36 +0200] "GET / HTTP/1.1" 200 5359 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:34:27 +0200] "GET / HTTP/1.1" 200 5375 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:34:40 +0200] "GET / HTTP/1.1" 200 5398 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:34:47 +0200] "GET / HTTP/1.1" 200 5398 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:35:09 +0200] "GET / HTTP/1.1" 200 5404 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:35:21 +0200] "GET / HTTP/1.1" 200 5398 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:35:58 +0200] "GET / HTTP/1.1" 200 5406 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:36:09 +0200] "GET / HTTP/1.1" 200 5361 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:36:35 +0200] "GET / HTTP/1.1" 200 5386 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:36:47 +0200] "GET / HTTP/1.1" 200 5392 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:37:14 +0200] "GET / HTTP/1.1" 200 5405 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:37:27 +0200] "GET / HTTP/1.1" 200 5405 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:38:24 +0200] "GET / HTTP/1.1" 200 5388 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:08:38:43 +0200] "GET / HTTP/1.1" 200 5393 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:14:19 +0200] "GET / HTTP/1.1" 200 5421 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:14:40 +0200] "GET / HTTP/1.1" 200 5449 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:15:06 +0200] "GET / HTTP/1.1" 200 5393 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:15:12 +0200] "GET / HTTP/1.1" 200 5393 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:15:12 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:16:53 +0200] "GET / HTTP/1.1" 200 5411 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:18:31 +0200] "GET / HTTP/1.1" 200 5475 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:20:35 +0200] "GET / HTTP/1.1" 200 5492 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:21:28 +0200] "GET / HTTP/1.1" 200 5503 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:21:39 +0200] "GET / HTTP/1.1" 200 5512 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:21:49 +0200] "GET / HTTP/1.1" 200 5516 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:22:00 +0200] "GET / HTTP/1.1" 200 5519 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:22:28 +0200] "GET / HTTP/1.1" 200 5526 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:22:35 +0200] "GET / HTTP/1.1" 200 5525 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:22:56 +0200] "GET / HTTP/1.1" 200 5521 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:23:22 +0200] "GET / HTTP/1.1" 200 5527 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:24:52 +0200] "GET / HTTP/1.1" 200 5529 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:25:40 +0200] "GET / HTTP/1.1" 200 5537 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:27:24 +0200] "GET / HTTP/1.1" 200 5547 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:27:30 +0200] "GET / HTTP/1.1" 200 5547 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:27:36 +0200] "GET / HTTP/1.1" 200 5547 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:35:23 +0200] "GET / HTTP/1.1" 200 5569 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:35:24 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:35:38 +0200] "GET / HTTP/1.1" 200 5566 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:35:53 +0200] "GET / HTTP/1.1" 200 5572 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:35:54 +0200] "GET / HTTP/1.1" 200 5572 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:35:54 +0200] "GET / HTTP/1.1" 200 5572 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:36:27 +0200] "GET / HTTP/1.1" 200 5572 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:36:58 +0200] "GET / HTTP/1.1" 200 5585 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:37:48 +0200] "GET / HTTP/1.1" 200 5584 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:38:59 +0200] "GET / HTTP/1.1" 200 5585 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:39:19 +0200] "GET / HTTP/1.1" 200 5601 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:39:29 +0200] "GET / HTTP/1.1" 200 5600 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:42:28 +0200] "GET / HTTP/1.1" 200 5584 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:42:37 +0200] "GET / HTTP/1.1" 200 5584 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:42:42 +0200] "GET / HTTP/1.1" 200 5584 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:42:55 +0200] "GET / HTTP/1.1" 200 5584 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:43:52 +0200] "GET / HTTP/1.1" 200 5583 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:52:43 +0200] "GET / HTTP/1.1" 200 7553 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:52:44 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:52:57 +0200] "GET / HTTP/1.1" 200 6569 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:53:52 +0200] "GET / HTTP/1.1" 200 6569 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:54:33 +0200] "GET / HTTP/1.1" 200 6659 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:54:40 +0200] "GET / HTTP/1.1" 200 6659 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:55:07 +0200] "GET / HTTP/1.1" 200 6209 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:55:16 +0200] "GET / HTTP/1.1" 200 6185 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:09:55:48 +0200] "GET / HTTP/1.1" 200 6215 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:06 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:10 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:10 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:11 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:12 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:12 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:06:13 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:09:13 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:09:15 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:09:15 +0200] "GET / HTTP/1.1" 200 5874 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:09:16 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:09:25 +0200] "GET / HTTP/1.1" 200 5264 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:10:21 +0200] "GET / HTTP/1.1" 200 5244 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:27:51 +0200] "GET / HTTP/1.1" 200 5274 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:27:52 +0200] "GET / HTTP/1.1" 200 5274 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:29:33 +0200] "GET / HTTP/1.1" 200 5244 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:30:48 +0200] "GET / HTTP/1.1" 200 5301 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:33:55 +0200] "GET / HTTP/1.1" 500 1806 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:34:26 +0200] "GET / HTTP/1.1" 200 7772 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:35:19 +0200] "GET / HTTP/1.1" 200 7772 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:36:09 +0200] "GET / HTTP/1.1" 200 6479 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:36:29 +0200] "GET / HTTP/1.1" 200 4520 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:51:42 +0200] "GET / HTTP/1.1" 200 4520 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:51:56 +0200] "GET / HTTP/1.1" 200 4504 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:53:45 +0200] "GET / HTTP/1.1" 200 4550 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:10:54:27 +0200] "GET / HTTP/1.1" 200 4547 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:11:56:35 +0200] "GET / HTTP/1.1" 500 1620 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:11:56:35 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:11:56:37 +0200] "GET / HTTP/1.1" 500 1620 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:11:58:54 +0200] "GET / HTTP/1.1" 200 4873 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:11:59:58 +0200] "GET / HTTP/1.1" 200 4885 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:00:02 +0200] "GET / HTTP/1.1" 200 4885 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:00:03 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:00:09 +0200] "GET / HTTP/1.1" 200 4885 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:01:12 +0200] "GET / HTTP/1.1" 200 4900 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:01:31 +0200] "GET / HTTP/1.1" 200 4912 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:02:08 +0200] "GET / HTTP/1.1" 200 4910 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:02:18 +0200] "GET / HTTP/1.1" 200 4909 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:04:52 +0200] "GET / HTTP/1.1" 200 4906 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:04:53 +0200] "GET / HTTP/1.1" 200 4906 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:05:13 +0200] "GET / HTTP/1.1" 200 4906 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:05 +0200] "GET / HTTP/1.1" 200 8159 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:06 +0200] "GET / HTTP/1.1" 200 8159 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:18 +0200] "GET / HTTP/1.1" 200 8159 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:19 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:44 +0200] "GET / HTTP/1.1" 200 7780 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:44 +0200] "GET /favicon.ico HTTP/1.1" 404 159 "http://localhost:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:08:59 +0200] "GET / HTTP/1.1" 200 6190 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:09:08 +0200] "GET / HTTP/1.1" 200 6190 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
+127.0.0.1 - - [26/Nov/2025:12:09:23 +0200] "GET / HTTP/1.1" 200 6190 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
diff --git a/logs/error.log b/logs/error.log
new file mode 100644
index 0000000..7fee899
--- /dev/null
+++ b/logs/error.log
@@ -0,0 +1,2 @@
+2025/11/25 14:43:13 [alert] 47449#0: lua_code_cache is off; this will hurt performance in /home/lhietala/repos/koivuhaka/nginx.conf.compiled:20
+2025/11/26 08:03:47 [alert] 4333#0: lua_code_cache is off; this will hurt performance in /home/lhietala/repos/koivuhaka/nginx.conf.compiled:20
diff --git a/logs/nginx.pid b/logs/nginx.pid
new file mode 100644
index 0000000..736d2a9
--- /dev/null
+++ b/logs/nginx.pid
@@ -0,0 +1 @@
+4333
diff --git a/views/index.etlua b/views/index.etlua
index 756f914..5f7bfbc 100644
--- a/views/index.etlua
+++ b/views/index.etlua
@@ -3,25 +3,51 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Bootstrap demo</title>
+    <title>Koivuhaan asunto</title>
     <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
   </head>
   <body>
+    <div class="mb-5 container-fluid px-0 position-relative" style="height: 500px; overflow: hidden">
+        <img class="w-100" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/2010s_residential_area_near_Peltolantie_and_Tikkurilantie_in_Koivuhaka%2C_Vantaa%2C_Finland%2C_2021_September.jpg/2560px-2010s_residential_area_near_Peltolantie_and_Tikkurilantie_in_Koivuhaka%2C_Vantaa%2C_Finland%2C_2021_September.jpg" class="img-fluid">
+	<h1 class="position-absolute top-50 start-50 translate-middle text-white bg-dark px-4 py-2 fw-bold display-6">Koivuhaan Asuntolat</h1>
+    </div>
+
     <div class="container">
-	<div class="row row-cols-3 g-3">
+	<h2 class="mb-4">Asuntolat</h2>
+	<div class="row row-cols-3 g-3 mb-5">
 	    <% for i, asunto in pairs(asunnot) do %>
 		<div class="col">
 		    <div class="card">
 			<img class="card-img-top" src="<%= asunto["kuva"] %>" alt="kuva asunnosta">
-			<div class="card-img-overlay">
+			<div class="card-body">
 			    <h4 class="card-title">
 				<%= asunto["osoite"] %>
 			    </h4>
+			    <div class="d-inline-flex gap-2">
+				<small class="text-body-secondary"><%= asunto["hinta"]%> €</small>
+				<small class="text-body-secondary"><%= asunto["pinta-ala"]%> m²</small>
+				<small class="text-body-secondary"><%= asunto["rakennusvuosi"]%></small>
+			    </div>
 			</div>
 		    </div>
 		</div>
 	    <% end %>
 	</div>
+	<h2 class="mb-4">Tietoa meistä</h2>
+	<div class="row row-cols-5 g-5 mb-5">
+	    <% for i=5,1,-1 do %>
+	    <div class="col">
+		<div class="card border-0">
+		    <img class="card-img-top rounded-circle" src="https://www.w3schools.com/bootstrap5/img_avatar3.png" alt="jäsen">
+		    <div class="card-body">
+			<h5 class="card-title text-center">
+			    Matti Meikäläinen
+			</h5>
+		    </div>
+		</div>
+	    </div>
+	    <% end %>
+	</div>
     </div>
     <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
   </body>