DSL-wise, I've rather enjoyed Clojure's Hiccup [1].
I'm using it with Janet for a side project, really liking it so far. Writing server-side html with a hiccup-like library is very nice! :)
(Clojure Hiccup library, similar libraries exist for other lisp-like languages: https://github.com/weavejester/hiccup)
- Database: Postgres or SQLite
- Frontend: None, the backend serves html + js by combining htmx[1] and hiccup[2]
* Compojure-api (https://github.com/metosin/compojure-api) - for building web applications. Mix json-like, hiccup and clojure constructs for web applications and autogenerate Swagger documentation.
* LOL book (https://letoverlambda.com/). Extreme examples what you can do with macros and code modifications during compile time.
* Seesaw (https://gist.github.com/daveray/1441520) - library for building GUI apps with Clojure and Swing. Express GUI elements through declarative syntax. Qt and other libraries has similar feature, but is usually preprocessed with external tools.
* Scheme - MiniKanren (https://docs.racket-lang.org/minikanren/index.html)
Most of these things in regular languages would require modifying language parser or compiler, or adding external tool that will parse that code and generate new one; e.g. like React is doing with html chunks. Also, many Scheme/CL/Clojure implementations provide functions to modify syntax table in runtime, allowing you to alter how things are parsed. That is extremely hard in regular languages due unregular syntax constructs.