zaphodias
Joined 8 years ago
Joined 8 years ago
<main class="mx-auto mt-4 w-full flex-1 px-4 md:px-8 lg:mt-6 max-w-7xl h-full !mt-0 flex flex-col items-center gap-8 md:px-14 3xl:px-20 pt-[10vh] md:pt-[20vh] max-sm:!px-1 relative">
<div class="mx-auto flex w-full flex-col items-center gap-7 max-md:pt-4 max-w-2xl">
<div class="ml-0.5 inline-flex items-center gap-1.5 rounded-lg h-8 px-2.5 text-center font-small sm:font-base bg-bg-300 text-text-500 select-none">In any case, my experience so far has been great. The connect-es generator takes your protobuf and generates a TypeScript library which looks pretty good. You can use ConnectRPC both from the browser and from Node.js (the latter can leverage HTTP/2, while the former uses the native fetch() or a function you provide).
My stack is similar, with a few differences:
- Go backend with sqlc, but using ConnectRPC[1]. I chose this as it allows me to define a proper API scheme and generate a decent-quality Typescript client.
- Nuxt (Vue) instead of Next.js (React). I chose this even though I'm new to vue cause I saw the open source components and templates here [2] (especially the dashboard template: [3]) and was convinced.
I'll definitely check out your repo as inspiration.
[2]: https://ui.nuxt.com/
I call this technique: "sprAI and prAI".
I started my home server for self hosting Immich, not only for the cost but because I like to have my images close to me.
I also recently replaced Lightroom with ON1, it's definitely not the same quality but, as hobbyist, it didn't make much sense to pay that much for me anymore. It was by far the most expensive subscription I had.
- convenience (everyone already has a GitHub account and is familiar with the platform) - discussions platform (issues, prs, discussions) - CI (GitHub Actions)
It's already there, and it's free for the most part. Why would I bother hosting my own?
Go is pretty strict about breaking changes, so they probably won't change the current implementations; maybe we'll see a v2 version, or maybe not. The more code you have, the more code you have to maintain, and given Go's backward-compatibility promises, that's a lot of work.