The DRTC Fluvial Admin codebase uses a feature-based architecture where each functional domain (appointments, vessel registration, permits, etc.) owns its components, hooks, pages, and services in isolation. Shared infrastructure — API helpers, UI primitives, and utility libraries — lives in dedicated top-level directories that any feature can import. This separation keeps feature modules self-contained and makes it straightforward to locate all code related to a given business capability without searching across the entire repository.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Bran258/drtc-fluvial-admin/llms.txt
Use this file to discover all available pages before exploring further.
Top-level layout
The repository root contains the following directories and key configuration files:app/ — Next.js App Router pages
app/ — Next.js App Router pages
The Route groups like
app/ directory follows Next.js App Router conventions. Every file named page.tsx becomes a route, and every layout.tsx wraps a segment and its children.(backoffice) and (dashboard) are directory names wrapped in parentheses. Next.js strips them from the URL, so they exist only to apply a shared layout to a subset of pages.Each
page.tsx file in app/ is intentionally thin — it imports and renders a page component from features/. Business logic does not live in the app/ directory.features/fluvial/ — feature modules
features/fluvial/ — feature modules
Every business capability is a self-contained module under Follow this convention when you add a new feature:
features/fluvial/. You will find these four sub-directories in each module:- Create a directory under
features/fluvial/<feature-name>/. - Add
components/,hooks/,pages/, andservices/as needed. - Export the public API from an
index.tsbarrel file. - Create the corresponding
app/(backoffice)/...page.tsxthat imports frompages/.
shared/ — cross-feature code
shared/ — cross-feature code
lib/ — low-level utilities
lib/ — low-level utilities
The Import from
lib/ directory contains singleton instances and pure utility functions with no React dependency.lib/ anywhere in the project — features, shared modules, and components all use these utilities directly.types/ — shared TypeScript interfaces
types/ — shared TypeScript interfaces