DevUI - Development Tools UI
An Axum router that adds a /dev/ui route to your Axum application, serving a React-based development tools interface.
Features
- π οΈ Axum Router: Native Axum router that can be nested into your existing Axum application
- βοΈ React SPA: Modern React TypeScript single-page application
- π Axum Integration: Built specifically for Axum applications
- π± Responsive UI: Modern, clean interface for development tools
- π§ Embedded Assets: React app is embedded in the Rust binary at compile time
Screenshots
DevUI Home Dashboard
The DevUI home page provides an overview of all available development tools and services.

SQL Editor - Table Browser
Browse and explore database tables with automatic schema discovery. View table relationships, column types, and foreign key constraints.

SQL Editor - Data Viewer
View table data with advanced filtering, pagination, and foreign key navigation. Supports all PostgreSQL data types.

Installation
Add to your Cargo.toml
Add devui to your project dependencies:
[]
= "0.0" # Check https://crates.io/crates/devui for the latest version
= "0.8"
= { = "1.0", = ["full"] }
= { = "0.6", = ["cors"] }
= "0.3"
Note: Use
devui = "0.0"to automatically get the latest patch version (0.0.x), or specify an exact version likedevui = "0.0.1". Check crates.io/crates/devui for the latest available version.
Quick Start
1. Register the DevUI Router
Import the necessary types and register the DevUI router in your Axum application:
use ;
use ;
use CorsLayer;
async
2. Access your development tools
Once your server is running, visit:
- Main app: http://localhost:3000/
- DevUI: http://localhost:3000/dev/ui
Running the Example
The project includes a complete example with a sample PostgreSQL database. Follow these steps:
Prerequisites
Step 1: Start the Sample Database
The example uses a Docker Compose setup with PostgreSQL containing sample relational data:
# Navigate to the standalone example directory
# Start PostgreSQL with sample data
# Verify the database is running
The database will be initialized with:
- Database:
devui_sample_db - User:
devui_user - Password:
devui_password - Port:
5432
Sample tables include:
users- User accounts with email and profile informationproducts- Product catalog with categoriescategories- Hierarchical category structureorders- Customer ordersorder_items- Order line items (junction table)
All tables contain sample data with proper foreign key relationships.
Step 2: Run the Example Server
# Run the example server (from standalone-example directory)
The server will start on http://localhost:3000 with:
- Main application at
/ - DevUI interface at
/dev/ui - SQL editor at
/dev/ui/sql
Step 3: Explore the DevUI
- Open your browser and navigate to http://localhost:3000/dev/ui
- Click on the SQL service to explore the sample database
- Browse tables, view data, and execute queries on the sample relational data
Cleaning Up
When you're done, stop the database:
# Stop and remove containers (from standalone-example directory)
# Remove volumes (optional - removes all data)
How it works
The dev_ui_router function:
- Creates an Axum router with
/dev/uiroutes - Serves the React SPA for non-API routes at
/dev/ui(assets embedded at compile time) - Handles API endpoints for backend communication at
/dev/ui/api - Nests into your existing Axum application router
Embedded Frontend Assets
The React frontend is embedded into the Rust binary at compile time using rust_embed. This means:
- β
No filesystem dependencies: The library doesn't require a separate
frontend/distdirectory at runtime - β Self-contained: All frontend assets are bundled with the library
- β
Included in published package: The
frontend/distfolder is included in the published crate source - β Works out of the box: Just add the dependency and use itβno additional setup needed
Architecture
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β HTTP Request βββββΆβ Axum Router βββββΆβ DevUI Router β
βββββββββββββββββββ β (Your App) β β (/dev/ui) β
ββββββββββββββββββββ βββββββββββββββββββ
β β
β βΌ
β ββββββββββββββββββββ
β β React SPA β
β β + API endpoints β
β ββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Your Routes β
ββββββββββββββββββββ
Available Development Tools
PostgreSQL SQL Management
Comprehensive PostgreSQL database management - Explore, query, and manage PostgreSQL databases with a rich set of features:
- ποΈ Schema Exploration: Automatic discovery of tables, columns, and relationships
- π Advanced Filtering: Type-aware filters with support for all PostgreSQL data types
- π Foreign Key Navigation: One-click navigation through foreign key relationships
- π Pagination: Efficient server-side pagination for large datasets
- π¨ Modern UI: Responsive interface with rich metadata display
π See full PostgreSQL features documentation
Future Development Tools
The interface is designed to be extensible with tools like:
- Kafka UI: Publish and Consume kafka topics
- API Explorer: Test and explore API endpoints
- Log Viewer: View and search application logs
- Metrics Dashboard: Monitor application performance
License
MIT