Skip to main content
Landed Cost Admin Dashboard

Landed Cost Admin Dashboard

NextJSTailwindMongoDBShadcnAuth.js

An internal operations dashboard for managing trade reference data, permissions, audit history, and landed-cost records.

Project facts

Project
Private client project
My role
Full-stack developer
Release status
Client-delivered internal software

The Landed Cost Admin Dashboard is an internal administration system for structured trade data, role-aware workflows, landed-cost history, and auditable changes. I built the full-stack dashboard for a client around the people who maintain reference data and inspect historical records.

The Brief

The product needed one controlled interface for HS documents, companies, countries, users, and historical landed-cost records. Different responsibilities required different actions, and changes to operational reference data needed to remain visible after they were made.

The goal was not another read-only analytics page. It was software for administering records: searchable tables, validated forms, detail views, permissions, and a clear history of tracked changes.

What I Built

  • Authenticated create, read, update, and delete workflows for the supported data domains.
  • Role-aware navigation and actions for administrators, editors, and viewers.
  • Searchable, filterable tables for trade reference data and historical records.
  • Detail drawers that keep record context available without forcing a separate page transition.
  • User administration and password set/reset flows.
  • Shared form and schema validation across browser and server boundaries.
  • Field-level audit records for tracked create, update, and delete operations.
  • Summary and historical-data views using reusable dashboard components.

Permission and Audit Model

The application separated administrative, editing, and read-only responsibilities. Authorization checks were enforced through server-side session and middleware behavior rather than relying only on whether a button was visible.

For tracked changes, the audit surface recorded the affected record, action, fields, previous and new values, actor, and time. This gave operators a field-level history they could inspect when a record changed.

Data Surfaces

HS documents

Administrators and editors can manage the reference material used by the surrounding trade workflow, with validated fields and record-level detail views.

HS Document

Companies and countries

The dashboard provides consistent forms and searchable tables for trading-party and country reference data.

Company

Landed-cost history

Historical records are presented as a searchable, filterable read-only surface. This case study describes the administration and history interface; it does not claim ownership of a separate calculation engine.

Landed-cost record detail drawer with cost breakdown and historical context

The detail drawer keeps breakdown and record context visible without taking the operator away from the history list.

Architecture

  • Application: Next.js with React and Tailwind CSS, using Shadcn/UI primitives for reusable dashboard surfaces.
  • Data access: Next.js server routes with SWR for client-side fetching and cache updates.
  • Identity and authorization: Auth.js sessions with middleware and server-side role checks.
  • Database: MongoDB Atlas with Mongoose schemas and application-level validation.
  • Forms: React Hook Form and Zod for consistent browser and server validation.
  • Visualization: Recharts for summary and historical views.

Decisions That Mattered

Make historical records read-only

Operational reference data and historical calculation records serve different jobs. Keeping the latter read-only in the dashboard reduced accidental changes to history while still making it searchable.

Keep detail in context

Drawers allowed operators to inspect a record and its breakdown without losing their current filters or position in a table.

Make permissions legible

Roles affect both what a person can see and what they can change. Aligning navigation, controls, server checks, and audit history made those boundaries easier to understand in daily use.

Delivered Scope

The delivered dashboard covered the data-management, user, role, validation, detail-view, historical-record, and audit workflows described above. The project reinforced that internal software earns trust by making state, permissions, and change history clear to the people operating it.