From e659e3ad49886a5bf2f0c4d28ee2555b53ce7197 Mon Sep 17 00:00:00 2001 From: Sambit Sahoo Date: Sun, 3 Nov 2024 13:31:08 +0530 Subject: [PATCH] chore: update doca --- README.md | 24 ++++++++++++++++++++++++ tsconfig.json | 4 ++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6fb5aca..a3fe27f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,27 @@ # okane > money + +## Goals +- simple to develop and maintain +- try as many new tech as possible with speed and simplicity in mind + +## How it works ? +### server side +- app is written in gleam (:heart:) +- wisp is the http routing layer + - it follows a loose rails structure + - so requests flow in the following order + - hooks <- can early terminate requests + - router <- resource specific modules which export a controller method + - serializer <- serialize DB records to json + - response +- for DB, sqlight is used, queries via cake +- DB records are represented as gleam records, with builder pattern for ops like insert, select etc. +- radiate for hot reloading during development + +### client side +- app is served from priv/ui on / +- only session is hydrated on page load +- components and re-render via preact + htm + signals +- styles are tailwind + daisy UI diff --git a/tsconfig.json b/tsconfig.json index f9e43b6..42859dd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,12 +6,12 @@ "DOM" ], "target": "ESNext", - "module": "ESNext", + "module": "NodeNext", "moduleDetection": "force", "jsx": "react-jsx", "allowJs": true, // Bundler mode - "moduleResolution": "Classic", + "moduleResolution": "NodeNext", "allowImportingTsExtensions": true, "verbatimModuleSyntax": true, "noEmit": true,