Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flyck/shaft-stack-experiment
Experiment using Sqlite Htmx Astro Fly.io & Tuql
https://github.com/flyck/shaft-stack-experiment
Last synced: 30 days ago
JSON representation
Experiment using Sqlite Htmx Astro Fly.io & Tuql
- Host: GitHub
- URL: https://github.com/flyck/shaft-stack-experiment
- Owner: flyck
- Created: 2024-02-18T15:50:48.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-14T16:33:03.000Z (5 months ago)
- Last Synced: 2024-10-15T02:51:32.410Z (2 months ago)
- Language: Astro
- Homepage:
- Size: 1.61 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SHAFT
The SHAFT stack allows you to create an app, defining only the database schema and the html forms. Creating an api layer and managing the frontend is completely dropped, while you still get a graphQL api for free, which can be embedded in third party tools for operations.
- [Backend]:
- Sqlite db
- [Tuql](https://github.com/bradleyboy/tuql) (sqlite schema -> graphql api)
- Fly.io
- [litefs](https://fly.io/docs/litefs/) for distributed sqlite
- containers app to host the tuql nodejs express api
- fly can also host static pages
- [Frontend]:
- Htmx
- Astro
## Maybe
- [ ] Try Clerk for easy auth
## Fly.io Free Tier
Resources included for free on all plans ([docs](https://fly.io/docs/about/pricing/#free-allowances)):
- Up to 3 shared-cpu-1x 256mb VMs
- 3GB persistent volume storage (total)
- 160GB outbound data transfer# Dev Notes
- Building something with HTMX for the first time is definitely a learning curve. There seem to be
many ways to achieve a single thing. The docs are poetic and easy to read, but sometimes it
seems that they lack more examples.
- The main goal of htmx doesnt seem to be to remove react. It is to avoid writing javascript at
all cost, which happens to include react. Instead of writing javascript, html templates should
be generated from the backend. Using HTMX with a nodejs typescript backend would be against the
philosophy of htmx. Using a non-javacsript language like GO really does seem to be the intended
use.## Experiment outcome
Parsing json responses with HTMX is an anti-pattern. While it does generally work, it is not the intended use.