Project Structure
The Next.js server, which is client-facing, is responsible for page rendering and client-side routing. Client-side routing is handled by React Router.
The Next.js server forwards /api/:path routes to the local Python Flask server via reverse proxy, which handles API requests.