Thinking of starting a personal project to keep busy. I’m very good with databases and SQL but interested in branching out to more full-stack
I’m thinking Supabase, Sveltekit and Svelte
What would you all use?
Sounds like fun. Which tech stack? Depends.
-
Wanna build a proof of concept quickly? Pick a stack you’re familiar with.
-
Wanna make a hobby project for fun? Pick whichever stack you want to learn better.
-
Speaking of learning, want to improve your programming experience with the aspiration to be hired as a software engineer? Pick a popular tech stack.
-
Want to build something that you hope will grow and will eventually look for contributors (whether that be hiring people or open sourcing)? Pick a popular tech stack.
There are other less important factors like technical pros/cons of the tech stack depending on what your application is doing and how you expect it to grow technically and as a product, but I would start with the above.
A lot of tech stacks out there can build a relatively successful Reddit-like app, and with enough experience, scale it when needed.
If you are less experienced and want to try avoiding some pitfalls and antipatterns that could make maintaining or scaling your app difficult, I would recommend picking a stack that contains a more full fledged framework that provides a lot of the code structure and tools for you.
Lemmy uses Actix Web for the backend, which I’d probably pick too. The frontend though, I’d prefer to just render templates on the server instead of building a SPA in JavaScript.
This really doesn’t need that level of interactivity, and it’s used for annoying things like live-updating my frontpage. Maybe I’m just biased from how bad reddit’s redesign was. This is at least way better than that.
Clearly I’d start with Haskell.
Personally, I’d use SvelteKit and Svelte for the app itself as an SPA, SurrealDB for the database and express for the API.
- SvelteKit and Svelte because I like their simplicity compared to other frameworks, though I wish there was a programmatic router instead of a filesystem-based one. (Also took me a while to understand how the hell hooks work)
- SurrealDB because it looks interesting and I’d like to try it.
- Express because it’s the server I have the most experience with, and separating the API from the app itself is a must.
zio-http, tapir, and psql. React/typescript on the FE because I already know it and don’t want to learn another FE framework.
But I’m pumped lemmy is in rust as it gives me an excuse to fool around with it. Equally saddened kbin is php as I will use that as an excuse to never fool around with it.