Skip to content

Admin Panel

The Tracker API includes an admin panel that provides a user-friendly interface for managing the system. The admin panel is built with React, TypeScript, and Tailwind CSS, and communicates with the API via REST endpoints.

Features

  • Authentication: JWT-based authentication with the Tracker API
  • User Management: Create, read, update, and delete users
  • Client Management: Manage clients and their brands
  • Brand Management: Manage brands and their production runs
  • Production Run Management: Manage production runs and their trackers
  • Tracker Management: Manage trackers and view their location and status history, including bulk import via CSV
  • Sorting Functionality: Sort data in tables by various columns:
  • Trackers: Sort by name, production run ID, or MAC address
  • Production Runs: Sort by description or brand
  • Brands: Sort by brand name or client name
  • Clients: Sort by client name
  • Location Management: Manage delivery and storage locations
  • Location Reports: View location reports from trackers
  • Dashboard: Overview of system statistics
  • Maps: Interactive maps for viewing locations
  • Dark Mode: Toggle between light and dark themes for better visibility in different environments

Architecture

The admin panel is a standalone React application that communicates with the Tracker API via REST endpoints. It is designed to be deployed separately from the API, allowing for independent scaling and maintenance.

The admin panel uses the following technologies:

  • React 19: JavaScript library for building user interfaces
  • TypeScript: Typed superset of JavaScript
  • Tailwind CSS: Utility-first CSS framework
  • Headless UI: Unstyled, accessible UI components
  • React Query: Data fetching and caching library
  • React Router: Routing library for React
  • React Hook Form: Form handling library
  • Axios: HTTP client for API requests
  • Leaflet: JavaScript library for interactive maps
  • Docker: Containerization platform
  • Node.js 20: JavaScript runtime

Documentation Sections