Comment on Ask HN: What's your go-to tech stack (or services/products) for side projects?Comments−reducesuffering2yNext.js on VercelA complete frontend+backend page at /my_path with a file at /my_path/page.tsx with ~20 lines in a single file that handles backend request, DB query, backend response, frontend html templating and client-side JS interactivity.−runjake2yWould you happen to have a code example, or something close to it, posted somewhere?−reducesuffering2yI included dynamic path/routes as a bonus. Internal path is app/[stateName]/page.tsx Public route is domainName.com/(any state name) // Prisma is ORM that handles DB req/res async function getStateInfo(stateName: string) { const state: State | null = await prisma.state.findUnique({ where: { name: stateName }, }); return state; }type StatePageParams = { params: { stateName: string }};export default async function StatePage({ params }: StatePageParams) { const stateInfo = await getStateInfo(params.stateName); return ( <main className="container flex flex-col items-center justify-center p-2"> {stateInfo ? ( <div> <h1 className="text-lg"> {stateInfo.name} </h1> </div> <InteractiveClientCard /> ) : null} </main> ); }
Comments
Next.js on Vercel
A complete frontend+backend page at /my_path with a file at /my_path/page.tsx with ~20 lines in a single file that handles backend request, DB query, backend response, frontend html templating and client-side JS interactivity.
Would you happen to have a code example, or something close to it, posted somewhere?
I included dynamic path/routes as a bonus.
// Prisma is ORM that handles DB req/res }type StatePageParams = { params: { stateName: string }};
export default async function StatePage({ params }: StatePageParams) {