ATC Admin Dashboard🚛

ATC Admin Dashboard

An admin dashboard for managing bookings, users, and analytics with flexible data visualization.

React
Vite
Tailwind CSS
Chart.js
Dashboard
Responsive Design
Analytics

Project Overview

The ATC Admin Dashboard is a management system designed to ease the operations for a transportation company based in Australia. As the frontend developer, I collaborated with a backend developer to create a robust, user-friendly interface that handles bookings, user management, and analytics with flexible data visualization.

Technical Implementation

Architecture & Development

The project was built using a modern tech stack with a focus on performance and maintainability. The frontend was developed using React with Vite for optimal build times and development experience. We implemented a component-based architecture with reusable UI components and custom hooks for state management.

State Management & API Integration

For state management, we used React Context API for global state and local state for component-specific data. API integration was handled through Axios with custom interceptors for error handling and authentication.

Performance Optimization

To ensure optimal performance, we implemented code splitting, lazy loading of components, and optimized image loading. The dashboard handles large datasets efficiently through virtualization of lists and tables.

Technologies Used

Frontend

  • React.js with Vite for fast development and optimal performance
  • Tailwind CSS for responsive and maintainable styling
  • Chart.js for interactive data visualization
  • Axios for API communication
  • React Router for navigation
  • Custom components based on top of headless UI for reusability, consistency and a11y (accessibility)
  • Framer Motion for stuble animations

Development Tools

  • Visual Studio Code as IDE
  • ESLint and Prettier for code quality
  • Git for version control
  • Netlify for deployment

Authentication & Login

The authentication system is designed to provide secure access to the dashboard, with role based access control (RBAC) ensuring proper authorization for different user types.

Login Page

Dashboard & Analytics

Comprehensive analytics dashboard with customizable date range filters. We used Chart.js to create interactive and customizable charts, the color palette was selected according to the company's branding guidelines (as of the time of the project).

Home Page
Analytics Dashboard
Analytics Dashboard 2
Analytics Dashboard 3
Analytics Dashboard 4
Analytics with Time Period Filters
Analytics with Date Range Filter

Booking Management

The booking management system allows for filtering and sorting of bookings, and provides detailed information about each booking. We have implemented a booking type filter and selected based on the most important booking parameters.

Bookings Page
Quote Bookings Table
Booking Details 1
Booking Details 2
Booking Details 3

User Management

The user management system allows for the management of both corporate and individual users, with detailed user profiles. We have separated the interfaces for corporate and individual users to avoid confusion and ensure a seamless user experience for admins.

Corporate Users Page
Verified Users Table
Verified User Page
User Details Page

Admin Settings

The admin settings page allows for the management of administrators and system configurations. We have implemented role based access control (RBAC) to ensure that only admins with the required permissions can manage other admins.

Admin Settings
Add Admin

Mobile Responsive Design

The dashboard is fully responsive, providing an optimal experience across all devices. Here's a comprehensive look at the mobile interface:

Mobile Login Page

Secure mobile login interface

Mobile Home Page

Mobile dashboard with date range filter

Mobile Analytics 1

Mobile analytics dashboard view 1

Mobile Analytics 2

Mobile analytics dashboard view 2

Mobile Analytics 3

Mobile analytics dashboard view 3

Mobile Analytics 4

Mobile analytics dashboard view 4

Mobile Bookings Table

Mobile bookings table with filters

Mobile Booking Details 1

Mobile booking details view 1

Mobile Booking Details 2

Mobile booking details view 2

Mobile Booking Details 3

Mobile booking details view 3

Mobile Booking Details 4

Mobile booking details view 4

Mobile Booking Details 5

Mobile booking details view 5

Mobile Booking Details 6

Mobile booking details view 6

Mobile Corporate Users

Mobile corporate users table

Mobile Quote Bookings

Mobile quote bookings table

Mobile Sidebar

Mobile navigation sidebar

Mobile Add Admin

Mobile admin settings - add new admin

Mobile Add User

Mobile admin settings - add new user

Mobile Main Sidebar

Mobile main navigation sidebar

Mobile User Details

Mobile user details view

Development Process

The project was developed using an agile methodology, with regular communication between me and the backend developer. Key challenges included implementing a responsive design because of the large amount of data that needs to be displayed, optimizing performance for large datasets, and role based access control (RBAC).