# App Routes & Pages Documentation > Tài liệu chi tiết về Next.js App Router structure, routes, và layouts --- ## Route Structure Overview ``` app/ ├── layout.tsx # Root layout - Header + Footer wrapper ├── globals.css # CSS tokens + Tailwind imports ├── providers.tsx # Context providers (Auth, Menu, Cart) ├── (main)/ │ ├── layout.tsx # Main layout for authenticated routes │ ├── page.tsx # Main page - Duyệt thực đơn (/) │ ├── login/ │ │ └── page.tsx # Trang đăng nhập (/login) │ ├── register/ │ │ └── page.tsx # Trang đăng ký (/register) │ └── payment/ │ └── page.tsx # Trang thanh toán (/payment) ├── (feed)/ │ ├── layout.tsx # Feed layout │ └── feed/ │ └── page.tsx # Trang khám phá quán (/feed) └── (manager)/ ├── layout.tsx # Manager layout - auth guard + ManagerProvider └── manager/ ├── page.tsx # Manager Dashboard - quản lý thực đơn (/manager) └── analytics/ └── page.tsx # Financial Analytics (/manager/analytics) ``` --- ## Root Layout (app/layout.tsx) **Description:** Root layout wrapping entire application. Loads providers, fonts, and common layouts (header/footer). ### Structure - Imports providers (AuthProvider, MenuProvider, CartProvider) - Renders Header component (sticky top) - Renders page content via {children} - Renders Footer component ### Metadata - Title: "Coffee Shop" - Charset: UTF-8 - Viewport: responsive ### Key Features - Global CSS variables loaded here - Header remains sticky across all pages - Footer always present --- ## Providers (app/providers.tsx) **Description:** Client component that wraps all context providers for the application. ### Providers Included 1. **AuthProvider** (lib/auth-context.tsx) - Manages user authentication state - Persists user in localStorage - Enables login/logout/register flows 2. **MenuProvider** (lib/menu-context.tsx) - Shares active category state - Syncs Header mobile menu and Navbar sidebar 3. **CartProvider** (lib/cart-context.tsx) - Manages shopping cart state - Persists cart items in localStorage - Provides add/remove/update operations ### Usage in Root Layout ```tsx
{children}