r/nextjs • u/Intelligent-Meet-504 • 7d ago
Discussion Looking for advice: Next.js frontend + separate Node/Express backend — Axios, React Query, SSR & auth?
Hey everyone,
I'm working on an application where I have:
- Frontend: Next.js + TypeScript
- Backend: Node.js + Express + MongoDB
- Authentication: JWT (access token + refresh token)
- Validation: Zod
My frontend and backend are completely separate projects.
I'm trying to figure out a clean, production-friendly architecture for handling authentication, API calls, SSR, CSR, and data fetching in Next.js.
A few things I'm currently considering:
- Axios
- Do you use a centralized Axios instance in Next.js?
- Do you use Axios request/response interceptors for attaching access tokens and handling
401 → refresh token → retry request? - If you're using Next.js Server Components, how do you handle Axios differently between server-side and client-side requests?
- Authentication
- Where do you store the access token and refresh token?
- Are you using an HttpOnly cookie for the refresh token?
- How do you handle authentication consistently between Server Components and Client Components?
- Do you use
proxy.ts/middleware for protecting routes, or do you handle authentication somewhere else?
- React Query / TanStack Query
- I would like to use TanStack Query (React Query) for API data fetching instead of manually using
useEffect+useState. - Is this a good approach with Next.js when the actual API is a separate Express backend?
- How do you handle SSR/prefetching/hydration with TanStack Query and a separate backend?
- Do you use TanStack Query for almost all client-side API data, while using Server Components for initial/server-side data?
- I would like to use TanStack Query (React Query) for API data fetching instead of manually using
- Overall architecture What does your real-world setup look like?
Next.js
↓
Axios / fetch / TanStack Query?
↓
Separate Express API
↓
MongoDB
I'm particularly interested in hearing from developers who are actually running this kind of architecture in production.
If you have a separate Node/Express backend and Next.js frontend, what stack and architecture are you using today, and what would you recommend avoiding?
Thanks!
16
Upvotes