all questions


latestsearch (soon)randomprivacy

this page is a permalink for the following question:

how did you make a answers and questions page?

sveltekit and mongodb (edit 2023: postgresql) stuff. i won't go too in depth to how the structures are defined since that is a currently changing situation and is in itself very complex.

when you send a question, that goes to a sveltekit endpoint that throws your request in a database. when i go to the question respond page, it then shows me the question requests, i type a response using a gui editor (for doing multiple paragraphs, and so on), then send the resulting answer to the question database. the public pages just pull from the database and so does the search. full source.

Do I have to learn Svelte? I heard that Svelte makes it easier, but complex Javascript URGH!

you of course can go the entire full-stack adventure that i currently have, but if you want a lower tech solution, you can utilize free form systems like netlify forms / google forms / discord webhooks, then you just push a new version of your website with new data. this can be combined with what i mention below about svelte.

the scripting only gets as complex as you let it. you will see there are quadrillions of benefits of moving to component based website construction, and if svelte isn't your style you also have react and vue. there's some other frameworks too that you can look up to build your website, but i do know react is a gold standard that isn't going anywhere (unlike sveltekit being very experimental; they changed a bit of how API routes are written so that has been one of the many blockades i've had to deal with updating my site and getting the new homepage out). now, one of the benefits of this component based architecture is the fact that once you have a component for displaying a question, you can move it out to a database, and from there you can do anything you want: easy permalinks, search, and more!

i hope this basic outline helps you, but since you seem to not really know javascript or svelte, that would be your first start (or react + next.js, that is a really nice option too)