Skip to main content

Application routes

E-Cashpoint Web uses React Router v6 with a protected routing system. Here is the full map.

Configuration​

The routes are defined in src/App.jsx:

<Routes>
<Route path="/" element={<Navigate to="/login" replace />} />
<Route path="/login" element={<Login />} />
<Route path="/register" element={<Register />} />

<Route path="/checkout/success" element={<CheckoutSuccessPage />} />
<Route path="/checkout/cancel" element={<CheckoutCancelPage />} />

<Route element={<ProtectedRoute />}>
<Route path="/ecommerce-setup" element={<EcommerceSetup />} />
</Route>

<Route element={<ProtectedRoute />}>
<Route element={<SuperAdminRoute />}>
<Route path="/super-admin" element={<SuperAdminDashboard />} />
</Route>
</Route>

<Route element={<ProtectedRoute />}>
<Route path="/app" element={<AppShell />}>
<Route index element={<Dashboard />} />
<Route path="servicios" element={<Dashboard />} />
<Route path="restaurantes" element={<Dashboard />} />
<Route path="productos" element={<Dashboard />} />

<Route path="servicios/agenda" element={<AgendaPage />} />
<Route path="servicios/citas" element={<AppointmentsPage />} />
...
</Route>
</Route>

<Route path="*" element={<Navigate to="/app" replace />} />
</Routes>

Public routes​

RutaComponenteDescripción
/NavigateRedirige a /login
/loginLoginPantalla de inicio de sesión
/registerRegisterRegistro de cliente
/checkout/successCheckoutSuccessPagePago exitoso
/checkout/cancelCheckoutCancelPagePago cancelado
/_dev/ecommerce-setupEcommerceSetupPreviewPreview dev (no protegido)
/_dev/referralsReferralsPreviewPreview dev

Protected routes (require login)​

RutaComponenteDescripción
/ecommerce-setupEcommerceSetupActivación de comercio
/super-adminSuperAdminDashboardPanel admin
/app/*(múltiples)Aplicación principal

Main application paths (/app/*)​

Dashboard​

RutaComponente
/appDashboard (default)
/app/serviciosDashboard (perfil servicios)
/app/restaurantesDashboard (perfil restaurantes)
/app/productosDashboard (perfil productos)

Services (profile)​

RutaComponenteMódulo
/app/servicios/agendaAgendaPageAgenda
/app/servicios/citasAppointmentsPageCitas
/app/servicios/personalStaffPagePersonal
/app/servicios/serviciosServicesPageServicios (catálogo)
/app/servicios/promocionesServicesPromotionsPagePromociones

Restaurants (profile)​

RutaComponenteMódulo
/app/restaurantes/menuRestaurantCatalogPageMenú
/app/restaurantes/promocionesRestaurantPromotionsPagePromociones

Shared​

RutaComponenteMódulo
/app/produkteHandelsPanelCatálogo de productos
/app/cuponesCuponesPanelCupones
/app/reporteReportsReportes
/app/demo-marketingDemoMarketingMarketing
/app/clientesCustomersClientes directos
/app/clientes-indirectosIndirectCustomersReferidos
/app/filialenFilialenSucursales
/app/empleadosEmployeesPageEmpleados
/app/posPOSPagePunto de venta
/app/rechnungenRechnungenFacturación del día
/app/historial-facturasInvoicesHistoryPageHistorial completo
/app/preview/merchant/:id?MerchantPreviewVista previa pública

Guards (route protection)​

<ProtectedRoute />​

Verify that the user is authenticated. If not, redirect to /login.

<Route element={<ProtectedRoute />}>
<Route path="/ecommerce-setup" element={<EcommerceSetup />} />
</Route>

<SuperAdminRoute />​

Verify that the user has super-admin role. If not, redirect.

<Route element={<ProtectedRoute />}>
<Route element={<SuperAdminRoute />}>
<Route path="/super-admin" element={<SuperAdminDashboard />} />
</Route>
</Route>

Next steps​