Skip to main content

Introduction

The Viax Admin Panel provides comprehensive tools for managing and monitoring your ride-sharing platform. Administrators can oversee users, drivers, companies, trips, and configure system-wide settings.
Admin access is role-based. Different admin roles have different permission levels: Super Admin, Admin, and Moderator.

Admin Roles

Viax supports three distinct admin roles, each with specific permissions:

Super Admin

Full system access with all administrative privileges including user management, system configuration, and financial oversight.

Admin

Standard administrative access for day-to-day operations including user management, driver approval, and reporting.

Moderador

Limited access focused on content moderation and basic user support tasks.

Admin Entity Structure

The admin entity in Viax follows Clean Architecture principles:
admin/domain/entities/admin.dart
class Admin {
  final int id;
  final String nombre;
  final String email;
  final AdminRole role;
  final bool activo;

  const Admin({
    required this.id,
    required this.nombre,
    required this.email,
    required this.role,
    required this.activo,
  });
}

enum AdminRole {
  superAdmin('Super Admin'),
  admin('Admin'),
  moderador('Moderador');

  final String displayName;
  const AdminRole(this.displayName);
}

Panel Navigation Structure

The admin panel is organized into four main tabs for efficient navigation:
1

Dashboard

Real-time metrics, KPIs, and recent activity feed
2

Management

User, driver, and company administration tools
3

Statistics

Detailed analytics, charts, and reports
4

Profile

Admin account settings and preferences

Key Capabilities

User Management

  • View and search all users (clients, drivers, companies)
  • Activate/deactivate user accounts
  • Edit user profiles and assign companies
  • Filter by user type and status

Driver Verification

  • Review driver documents (license, vehicle, insurance)
  • Approve or reject driver applications
  • Monitor document expiration dates
  • Verify SOAT, technomechanical inspection, and insurance

Company Management

  • Create and manage transport companies
  • Assign drivers to companies
  • Track company performance metrics
  • Configure commission rates

Trip Monitoring

  • View all trip requests in real-time
  • Monitor active trips
  • Access complete trip history
  • Handle disputes and issues

System Configuration

  • Configure pricing by vehicle type
  • Define service areas
  • Manage vehicle categories
  • Set surge pricing and promotions

Audit & Compliance

  • Complete audit log of all admin actions
  • Track user activity and system events
  • Export reports for compliance
  • Monitor platform earnings

Accessing the Admin Panel

Admin credentials are separate from regular user accounts. Contact your system administrator to obtain admin access.
1

Login with Admin Credentials

Use your admin email and password to access the system
2

Navigate to Admin Panel

The admin interface loads automatically after authentication
3

Select Tab

Use the bottom navigation to switch between Dashboard, Management, Statistics, and Profile

System Statistics Entity

The admin panel displays real-time system statistics:
admin/domain/entities/admin.dart
class SystemStats {
  final int totalUsuarios;
  final int totalConductores;
  final int conductoresPendientes;
  final int viajesHoy;
  final int viajesTotal;
  final double gananciaHoy;
  final double gananciaTotal;

  const SystemStats({
    required this.totalUsuarios,
    required this.totalConductores,
    required this.conductoresPendientes,
    required this.viajesHoy,
    required this.viajesTotal,
    required this.gananciaHoy,
    required this.gananciaTotal,
  });
}

Security Features

Role-Based Access

Permissions enforced at the API level based on admin role

Audit Logging

All administrative actions are logged with timestamps and user IDs

Session Management

Automatic session timeout for security

IP Tracking

Admin actions tracked with IP address and user agent

Use Cases

The admin domain implements key use cases:
admin/domain/usecases/get_system_stats.dart
class GetSystemStats {
  final AdminRepository repository;

  GetSystemStats(this.repository);

  Future<Result<SystemStats>> call() async {
    return await repository.getSystemStats();
  }
}

Next Steps

Dashboard & Analytics

Explore real-time metrics and KPIs

User Management

Learn how to manage platform users

Driver Management

Review and approve driver applications

Audit Logs

Track all system activities

Build docs developers (and LLMs) love