initialisation on the doormile express console with astryx
This commit is contained in:
@@ -15,11 +15,11 @@ This skill is the **knowledge** Claude needs about the system (what each page do
|
||||
|
||||
## 1. Architecture at a glance
|
||||
|
||||
- **Brand colour: `#662582` (NearlExpress purple)** — defined in `src/themes/theme/default.js` as `primary.main`. Used by the sidebar, page headers, dialog/popup headers, KPI primary tiles, search bars, edit-action buttons. Gradient pair `#662582 → #9255AB`. Status badges use a separate semantic palette (amber/indigo/cyan/teal/emerald/red/orange) — see root `CLAUDE.md` §6.
|
||||
- **Brand colour: `#C01227` (NearlExpress red)** — defined in `src/themes/theme/default.js` as `primary.main`. Used by the sidebar, page headers, dialog/popup headers, KPI primary tiles, search bars, edit-action buttons. Gradient pair `#C01227 → #D25463`. Status badges use a separate semantic palette (amber/indigo/cyan/teal/emerald/red/orange) — see root `CLAUDE.md` §6.
|
||||
- **Stack:** React 18.2 + react-app-rewired (CRA), MUI 5, TanStack Query 5, Redux Toolkit, react-router 6, axios, dayjs, leaflet, firebase 10 (FCM), notistack, formik+yup, react-dnd.
|
||||
- **Entry:** `src/index.js` → providers (Redux store, QueryClient, Router, ThemeCustomization, Notistack) → `src/App.js`.
|
||||
- **Auth gate:** `App.js` checks `localStorage.getItem('authname')` — empty redirects to `/login`. Login posts to `jupiter.nearle.app/users/console/login` with `configid: 9` and the device's FCM token.
|
||||
- **Routing:** `src/routes/MainRoutes.js` declares all `/nearle/*` routes, lazy-loaded via `components/Loadable`. Sidebar items are declared in `src/menu-items/nearle.js`.
|
||||
- **Routing:** `src/routes/MainRoutes.js` declares all `/doormile/*` routes, lazy-loaded via `components/Loadable`. Sidebar items are declared in `src/menu-items/nearle.js`.
|
||||
- **Data layer:** every server call lives in `src/pages/api/api.js`. Pages call those exports via `useQuery` / `useInfiniteQuery` / `useMutation`. Query keys MUST include every filter parameter so caching invalidates correctly.
|
||||
- **State:** Redux Toolkit slices (`fcmSlice`, `loginUserSlice`, `menu`, `snackbar`, `toastSlice`, `auth`) for cross-page state; per-page UI state stays in `useState`.
|
||||
- **Two API bases:** `process.env.REACT_APP_URL` (primary) and `process.env.REACT_APP_URL2` (used for `/users/update`, `/tenants/update`, archival `/orders/getorders`, rider logs).
|
||||
@@ -70,16 +70,16 @@ flowchart TD
|
||||
Sidebar --> Invoice
|
||||
Sidebar --> ReportsHub
|
||||
|
||||
Dispatch[/"/nearle/dispatch<br/>Live Map · Riders · Batches"/]:::core
|
||||
Orders[/"/nearle/orders<br/>Orders Dashboard"/]:::core
|
||||
Deliveries[/"/nearle/deliveries<br/>Dispatched Deliveries"/]:::core
|
||||
Tenants[/"/nearle/tenants<br/>Client/Tenant Management"/]:::core
|
||||
Pricing[/"/nearle/pricing<br/>Pricing Matrix (master-detail)"/]:::core
|
||||
Customers[/"/nearle/customers<br/>Customer Directory"/]:::core
|
||||
Riders[/"/nearle/riders<br/>Rider Pool"/]:::core
|
||||
Invoice[/"/nearle/invoice<br/>Billing"/]:::core
|
||||
Requests[/"/nearle/requests<br/>Expense Approvals"/]:::core
|
||||
ReportsHub[/"/nearle/reports/*<br/>BI Suite"/]:::core
|
||||
Dispatch[/"/doormile/dispatch<br/>Live Map · Riders · Batches"/]:::core
|
||||
Orders[/"/doormile/orders<br/>Orders Dashboard"/]:::core
|
||||
Deliveries[/"/doormile/deliveries<br/>Dispatched Deliveries"/]:::core
|
||||
Tenants[/"/doormile/tenants<br/>Client/Tenant Management"/]:::core
|
||||
Pricing[/"/doormile/pricing<br/>Pricing Matrix (master-detail)"/]:::core
|
||||
Customers[/"/doormile/customers<br/>Customer Directory"/]:::core
|
||||
Riders[/"/doormile/riders<br/>Rider Pool"/]:::core
|
||||
Invoice[/"/doormile/invoice<br/>Billing"/]:::core
|
||||
Requests[/"/doormile/requests<br/>Expense Approvals"/]:::core
|
||||
ReportsHub[/"/doormile/reports/*<br/>BI Suite"/]:::core
|
||||
|
||||
OrdersCreate[/"/orders/create"/]:::sub
|
||||
OrdersMulti[/"/orders/createorders"/]:::sub
|
||||
@@ -164,12 +164,12 @@ flowchart TD
|
||||
sequenceDiagram
|
||||
autonumber
|
||||
participant U as Operator
|
||||
participant O as /nearle/orders
|
||||
participant O as /doormile/orders
|
||||
participant S as Solver (routes/routemate.workolik.com)
|
||||
participant P as /nearle/dispatch/preview
|
||||
participant P as /doormile/dispatch/preview
|
||||
participant R as reconcile-steps
|
||||
participant J as jupiter.nearle.app
|
||||
participant D as /nearle/deliveries
|
||||
participant D as /doormile/deliveries
|
||||
participant F as FCM (rider device)
|
||||
|
||||
U->>O: Select pending orders (checkbox)
|
||||
@@ -327,29 +327,29 @@ sequenceDiagram
|
||||
| Route | File | Lazy import name |
|
||||
| --- | --- | --- |
|
||||
| `/login` | `pages/nearle/login1.js` | `Login` |
|
||||
| `/nearle/dispatch` | `pages/nearle/dispatch/Dispatch.js` | `Dispatch` |
|
||||
| `/nearle/dispatch/preview` | `pages/nearle/dispatch/Preview.js` | `DispatchPreview` |
|
||||
| `/nearle/orders` | `pages/nearle/orders/orders.js` | `Orders` |
|
||||
| `/nearle/orders/preview` | `pages/nearle/orders/OrdersPreview.js` | `OrdersPreview` |
|
||||
| `/nearle/orders/create` | `pages/nearle/orders/createorder1.js` | `Createorder1` |
|
||||
| `/nearle/orders/createorders` | `pages/nearle/orders/multipleOrders.js` | `MultipleOrders` |
|
||||
| `/nearle/orders/details` | `pages/nearle/orders/details.js` | `Details` |
|
||||
| `/nearle/deliveries` | `pages/nearle/deliveries/deliveries.js` | `Deliveries` |
|
||||
| `/nearle/tenants` | `pages/nearle/clients/Tenants.js` | `Tenants` |
|
||||
| `/nearle/clients/create` | `pages/nearle/clients/createclient.js` | `Createclient` |
|
||||
| `/nearle/pricing` | `pages/nearle/clientPricing/clientPricing.js` | `ClientsPricing` |
|
||||
| `/nearle/customers` | `pages/nearle/customers/customers.js` | `Customers` |
|
||||
| `/nearle/customer/create` | `pages/nearle/clients/createCustomer.js` | `CreateCustomer` |
|
||||
| `/nearle/riders` | `pages/nearle/riders/riders.js` | `Riders` |
|
||||
| `/nearle/riders/create` | `pages/nearle/riders/createrider.js` | `Createrider` |
|
||||
| `/nearle/riders/edit` | `pages/nearle/riders/editRider.js` | `EditRider` |
|
||||
| `/nearle/invoice` | `pages/nearle/invoice/invoice.js` | `Invoice` |
|
||||
| `/nearle/invoice/preview` | `pages/nearle/invoice/invoicePreview.js` | `InvoicePreview` |
|
||||
| `/nearle/requests` | `pages/nearle/requests/requests.js` | `Requests` |
|
||||
| `/nearle/reports/orderssummary` | `pages/nearle/reports/ordersSummary.js` | `OrdersSummary` |
|
||||
| `/nearle/reports/ordersdetails` | `pages/nearle/reports/ordersDetails.js` | `OrdersDetails` |
|
||||
| `/nearle/reports/riderssummary` | `pages/nearle/reports/ridersSummary.js` | `RidersSummary` |
|
||||
| `/nearle/reports/riderslogs` | `pages/nearle/reports/ridersLogs.js` | `RidersLogs` |
|
||||
| `/doormile/dispatch` | `pages/nearle/dispatch/Dispatch.js` | `Dispatch` |
|
||||
| `/doormile/dispatch/preview` | `pages/nearle/dispatch/Preview.js` | `DispatchPreview` |
|
||||
| `/doormile/orders` | `pages/nearle/orders/orders.js` | `Orders` |
|
||||
| `/doormile/orders/preview` | `pages/nearle/orders/OrdersPreview.js` | `OrdersPreview` |
|
||||
| `/doormile/orders/create` | `pages/nearle/orders/createorder1.js` | `Createorder1` |
|
||||
| `/doormile/orders/createorders` | `pages/nearle/orders/multipleOrders.js` | `MultipleOrders` |
|
||||
| `/doormile/orders/details` | `pages/nearle/orders/details.js` | `Details` |
|
||||
| `/doormile/deliveries` | `pages/nearle/deliveries/deliveries.js` | `Deliveries` |
|
||||
| `/doormile/tenants` | `pages/nearle/clients/Tenants.js` | `Tenants` |
|
||||
| `/doormile/clients/create` | `pages/nearle/clients/createclient.js` | `Createclient` |
|
||||
| `/doormile/pricing` | `pages/nearle/clientPricing/clientPricing.js` | `ClientsPricing` |
|
||||
| `/doormile/customers` | `pages/nearle/customers/customers.js` | `Customers` |
|
||||
| `/doormile/customer/create` | `pages/nearle/clients/createCustomer.js` | `CreateCustomer` |
|
||||
| `/doormile/riders` | `pages/nearle/riders/riders.js` | `Riders` |
|
||||
| `/doormile/riders/create` | `pages/nearle/riders/createrider.js` | `Createrider` |
|
||||
| `/doormile/riders/edit` | `pages/nearle/riders/editRider.js` | `EditRider` |
|
||||
| `/doormile/invoice` | `pages/nearle/invoice/invoice.js` | `Invoice` |
|
||||
| `/doormile/invoice/preview` | `pages/nearle/invoice/invoicePreview.js` | `InvoicePreview` |
|
||||
| `/doormile/requests` | `pages/nearle/requests/requests.js` | `Requests` |
|
||||
| `/doormile/reports/orderssummary` | `pages/nearle/reports/ordersSummary.js` | `OrdersSummary` |
|
||||
| `/doormile/reports/ordersdetails` | `pages/nearle/reports/ordersDetails.js` | `OrdersDetails` |
|
||||
| `/doormile/reports/riderssummary` | `pages/nearle/reports/ridersSummary.js` | `RidersSummary` |
|
||||
| `/doormile/reports/riderslogs` | `pages/nearle/reports/ridersLogs.js` | `RidersLogs` |
|
||||
| `/viewprofile` | `pages/nearle/viewProfile.js` | `ViewProfile` |
|
||||
| `/maintenance/{404,500,under-construction,coming-soon}` | `pages/maintenance/*` | — |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user