How aom19/agri-front works
Agri Front is a Romanian-language agricultural management frontend. The main workflow is that authenticated users navigate permission-gated modules, whose pages use query hooks and API clients to manage farm data and display results. The graph includes documented dashboard, field operations, fleet/resources, crops, reports, weather, notifications, and administration capabilities. Some page-to-hook wiring is supported by the SOURCE INDEX; unsampled integrations are not expanded into asserted calls.
Main entry points: PrivateRoutes.tsx Protected routes · axios.ts HTTP client · auth.store.ts Auth state · useAuth.ts Authentication
Components 27
Access and navigation
- Protected routes
src/routes/components/PrivateRoutes.tsx - Dashboard layout
src/layouts/DashboardLayout.tsx - Authentication
src/hooks/useAuth.ts - Permission checks
src/hooks/usePermissions.ts - Users and access admin
src/pages/admin - Profile and settings
src/pages/profile/ProfilePage.tsx
Farm operations
- Field operations
src/pages/field-operations - Field operation data
src/hooks/useFieldOperations.ts - Field operation API
src/api/fieldOperation.api.ts - Crops management
src/pages/crops/CropsPage.tsx - Crop data queries
src/hooks/useCrops.ts - Crop API
src/api/crops.api.ts - Fleet and assignments
src/pages/assignments/AssignmentsPage.tsx - Resources and stocks
src/pages/resources/ResourcesPage.tsx - Stock management
src/pages/stocks/StocksPage.tsx - Operation templates
src/pages/operations/OperationTemplatesPage.tsx
Insights and weather
- Dashboard
src/pages/dashboard - Reports
src/pages/reports/ReportsPage.tsx - Weather map
src/pages/weather/WeatherMapPage.tsx
Data and state
- Auth state
src/store/auth.store.ts - Notifications
src/pages/notifications/NotificationsPage.tsx - HTTP client
src/api/axios.ts - Auth endpoints
src/api/auth.api.ts - Farm data API
src/api/crops.api.ts - Notification state
src/store/notification.store.ts
Other components
- Farm user
- Agri backend
Connections 30
- Farm user → Protected routes: navigates
src/routes/components/PrivateRoutes.tsx - Protected routes → Dashboard layout: renders within
src/routes/components/PrivateRoutes.tsx - Protected routes → Dashboard: routes to
src/routes/components/PrivateRoutes.tsx - Protected routes → Profile and settings: routes to
src/routes/components/PrivateRoutes.tsx - Protected routes → Users and access admin: routes to
src/routes/components/PrivateRoutes.tsx - Protected routes → Weather map: routes to
src/routes/components/PrivateRoutes.tsx - Protected routes → Field operations: routes to
src/routes/components/PrivateRoutes.tsx - Protected routes → Permission checks: guards with
src/routes/components/PrivateRoutes.tsx - Farm user → Authentication: signs in
src/hooks/useAuth.ts - Authentication → Auth endpoints: calls
src/hooks/useAuth.ts - Authentication → Auth state: sets tokens
src/hooks/useAuth.ts - Permission checks → Auth state: reads session
src/hooks/usePermissions.ts - Permission checks → HTTP client: queries through
- Field operations → Field operation data: uses data
src/pages/field-operations/FieldOperationDetailPage.tsx - Field operation data → Field operation API: calls
src/hooks/useFieldOperations.ts - Field operation data → Auth state: checks session
src/hooks/useFieldOperations.ts - Crop data queries → Crop API: calls
src/hooks/useCrops.ts - Crop API → HTTP client: uses client
src/api/crops.api.ts - Crops management → Crop data queries: uses queries
src/pages/crops/CropsPage.tsx - Farm data API → HTTP client: uses client
src/api/crops.api.ts - Fleet and assignments → Agri backend: manages fleet
- Resources and stocks → Agri backend: manages resources
- Stock management → Agri backend: manages stock
- Operation templates → Agri backend: manages templates
- Reports → Agri backend: requests reports
- Weather map → Agri backend: requests forecasts
- Notifications → Agri backend: receives updates
- HTTP client → Agri backend: sends requests
src/api/axios.ts - HTTP client → Auth state: refreshes tokens
src/api/axios.ts - HTTP client → Notification state: signals expiry
src/api/axios.ts