-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
frontend
The official @github repository of the Trovebox frontend software. A photo sharing and photo management web interface for data stored "in the cloud" (i.e. Amazon S3, Rackspace CloudFiles, Google Storage). (by photo)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
roq-kickstarter-nextjs-prisma-marketplace
A Kickstarter app with several examples of ROQ integration
I have built Web front-ends (React or Svelte) with Go-backend. Embed in a web-view to make it a native desktop app, or get funky and give it native chrome/menus etc. [Wails](https://github.com/wailsapp/wails) is a good candidate to start if you want to cut on boiler plate.
I've been researching JS frameworks recently for a personal project. Like you, my experience is with backend, old-school Django-style HTML multi-page apps, with some interactivity in specific parts of a page.
Things I thought that were cool and were genuinely exciting:
- https://htmx.org - this is my favorite option. It's primarily meant to replace AJAX requests that dynamically update the DOM (which is already a big win IMO). For more complex UI interactions, you'll still need JS or Hyperscript.
- https://hyperscript.org - wasn't immediately sold on this one like with HTMX. It's built by the same people as HTMX though. My favorite thing about it is it makes async transparent (no callback hell)
- Svelte, SolidJS - lumping these together since they look about the same from my point of view. Looks very easy for someone like me to build complex dynamic UIs. But still feels a bit too heavy for my tastes (Default setup is for full-blown SPAs)
- Go - awesome standard library. I needed to adjust to the lack "one framework to rule them all".
- Clojure/ClojureScript - Like Go, there's no "the one framework". Being able to use the same language for backend/frontend, including code sharing, is pretty sweet.
In the end, I chose Clojure + ClojureScript. I aws already familiar with Clojure, and with some wrangling/trial-error, I managed to get a ClojureScript setup that lets me write small interactive components that I can embed into specific parts of plain old .html files.
I intend to use HTMX for AJAX stuff, and ClojureScript for more complex interactivity. Haven't gotten very far yet, but that's the plan.
OP asked for a full stack solution so that's what I gave him. There's no reason you can't use rails and something like react on the frontend for building a SPA Notion clone. Rails may seem like overkill for an API-only mode but I think it's perfectly useable and pleasant to develop that way.
Just did a quick google search and this is the first result I found: https://github.com/brandonfang/lilnotion
Not sure why you think 20 year old PHP code would be difficult to refactor. It's extremely backwards compatible and things don't change much at all.
I have a couple large projects written in PHP from 10-20 years ago that I'm sure I could refactor or make changes to easily.
https://github.com/photo/frontend
Wasm to the rescue - https://go-app.dev/, https://yew.rs/.
I enjoy it as much as Vue 1.0 before we had bundlers, transpilers, builders and what not.
Wasm to the rescue - https://go-app.dev/, https://yew.rs/.
I enjoy it as much as Vue 1.0 before we had bundlers, transpilers, builders and what not.
Also, see this: https://github.com/rectorphp/rector
Instant Upgrades and Automated Refactoring of any PHP 5.3+ code
It really depends on what you want to build. For typical web applications (e.g. SaaS) this stack is almost perfect:
Next.js for client- and server-side development (alternatively look at Remix). It's a big advantage to use Typescript on both sides instead of mixing programming languages like JS + Rust or GO (or PHP, Python, Ruby ...).
In case you need a database (MySQL or Postgres) then PrismaORM is your best friend. Amazingly good ORM which does all the heavy-lifting for you.
For hosting without database Vercel is the obvious solution. In case you need a database, then look at a good PaaS like Render.com (or if you are in EU then scalingo.com). In any case don't waste time with building infrastructure.
In case you want to see a full application, check out our open-source Kickstarter.
Repo: https://github.com/roqtech/roq-kickstarter-nextjs