Diff between a4db992fc28ddd758d26542d675bda551c56eaa0 and 01f73a7f235c95a10d1be33c540f119fb5549560

Changed Files

File Additions Deletions Status
app.lua +8 -2 modified
config.lua +4 -1 modified
koivuhaka.sqlite +0 -0 added
logs/access.log +0 -5 deleted
logs/error.log +0 -1 deleted
views/index.etlua +28 -0 added
views/layout.etlua +10 -0 added

Full Patch

diff --git a/app.lua b/app.lua
index 23814fa..4d1acce 100644
--- a/app.lua
+++ b/app.lua
@@ -1,8 +1,14 @@
 local lapis = require("lapis")
+local db = require("lapis.db")
 local app = lapis.Application()
 
-app:get("/", function()
-  return "Welcome to Lapis " .. require("lapis.version")
+app:enable("etlua")
+app.layout = require "views.layout"
+
+app:get("/", function(self)
+    local res = db.query("SELECT * FROM asunnot")
+    self.asunnot = res
+    return { render = "index" }
 end)
 
 return app
diff --git a/config.lua b/config.lua
index e63bdfd..a38fde4 100644
--- a/config.lua
+++ b/config.lua
@@ -3,5 +3,8 @@ local config = require("lapis.config")
 config("development", {
   server = "nginx",
   code_cache = "off",
-  num_workers = "1"
+  num_workers = "1",
+  sqlite = {
+    database = "koivuhaka.sqlite",
+  }
 })
diff --git a/koivuhaka.sqlite b/koivuhaka.sqlite
new file mode 100644
index 0000000..b3d66b8
Binary files /dev/null and b/koivuhaka.sqlite differ
diff --git a/logs/access.log b/logs/access.log
deleted file mode 100644
index a288983..0000000
--- a/logs/access.log
+++ /dev/null
@@ -1,5 +0,0 @@
-127.0.0.1 - - [25/Nov/2025:08:48:00 +0200] "\x16\x03\x01\x07a\x01\x00\x07]\x03\x03\xF0\x04\x9F*\xF0\xA3K\xA1\xF6s\xE3T\xB7f^\x8FSmf\x1ES\xF3\xFA\x9F\xA4`\x89E\x98w\xE1$ JN\xED\x17\x07\xAA\xF5\x96\x8C\xFF\xE26\xEDS\xB1@\x93\x00f\x84\xD7\xCA\xC4c\x07g\xF05\xCDD%I\x00\x22\x13\x01\x13\x03\x13\x02\xC0+\xC0/\xCC\xA9\xCC\xA8\xC0,\xC00\xC0" 400 163 "-" "-"
-127.0.0.1 - - [25/Nov/2025:08:48:00 +0200] "\x16\x03\x01\x02\x90\x01\x00\x02\x8C\x03\x03\x0C\x99\x9C5\xF1\x10~\x19\xBE\xA2*\x9E\x1B3\xAB\x97nS\xDE\xF3D\xBD\xF1?\xB5t\x8A\x8Bz6\x19\xD7 f\xFF\x9B\xD0\xC1\xD1Oh&\xC8\xF2\x90\xAB\xDE\x89 \x8E\xE1\xBF\xB2\xF6\xB3\xA4\xE3\x98\x0C\x96!\x9B\xD1\xEA\xC1\x00\x22\x13\x01\x13\x03\x13\x02\xC0+\xC0/\xCC\xA9\xCC\xA8\xC0,\xC00\xC0" 400 163 "-" "-"
-127.0.0.1 - - [25/Nov/2025:08:48:38 +0200] "GET / HTTP/1.1" 200 123 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"
-127.0.0.1 - - [25/Nov/2025:08:48:38 +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 - - [25/Nov/2025:08:48:50 +0200] "GET / HTTP/1.1" 200 123 "-" "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
deleted file mode 100644
index c6319ae..0000000
--- a/logs/error.log
+++ /dev/null
@@ -1 +0,0 @@
-2025/11/25 08:47:17 [alert] 18555#0: lua_code_cache is off; this will hurt performance in /home/lhietala/repos/koivuhaka/nginx.conf.compiled:20
diff --git a/views/index.etlua b/views/index.etlua
new file mode 100644
index 0000000..756f914
--- /dev/null
+++ b/views/index.etlua
@@ -0,0 +1,28 @@
+<!doctype html>
+<html lang="fi">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Bootstrap demo</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="container">
+	<div class="row row-cols-3 g-3">
+	    <% 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">
+			    <h4 class="card-title">
+				<%= asunto["osoite"] %>
+			    </h4>
+			</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>
+</html>
diff --git a/views/layout.etlua b/views/layout.etlua
new file mode 100644
index 0000000..96156f6
--- /dev/null
+++ b/views/layout.etlua
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title><%= page_title or "Koivuhaan asunnot" %></title>
+</head>
+<body>
+  <% content_for("inner") %>
+</body>
+</html>