A modern, full-stack database management and monitoring application for keradb databases with real-time system monitoring.
- Rust 1.70+ (https://rustup.rs)
- Node.js 16+ (https://nodejs.org)
Backend (Terminal 1):
cd backend && ./start.shRuns on http://localhost:5800
Frontend (Terminal 2):
cd frontend && ./start.shRuns on http://localhost:5810
Open browser to http://localhost:5810
- Modern React-based UI
- Dark theme design
- Responsive layout
- Intuitive navigation
- Create and open databases
- Browse collections
- Full CRUD operations
- JSON document editing
- Real-time updates
- Real-time monitoring - Auto-refresh every 5 seconds
- Connection tracking - All registered databases
- Performance metrics - Operation duration tracking
- Visual analytics - Color-coded operations
- Interactive UI - Click databases for details
- Automatic tracking - All database connections
- Performance logging - Operation durations
- Usage statistics - Access counts and patterns
- OS-agnostic storage - Works on Windows/Linux/Mac
- Persistent metadata - Survives server restarts
- Rust - Systems programming language
- Actix-Web - High-performance web framework
- keradb - Document database engine
- Serde - Serialization framework
- Chrono - Date/time handling
- React 18 - UI framework
- TypeScript - Type-safe JavaScript
- Vite - Build tool & dev server
- Tailwind CSS - Utility-first CSS
- Axios - HTTP client
- Lucide React - Icon library
- React Router - Navigation
keradb-labs/
βββ backend/ # Rust backend
β βββ src/
β β βββ main.rs # API server
β β βββ system_db.rs # System database β¨
β βββ start.sh # Start script
β βββ SYSTEM_DB.md # System DB docs
β βββ ARCHITECTURE.md # Architecture guide
β βββ README.md
β
βββ frontend/ # React frontend
β βββ src/
β β βββ pages/
β β β βββ Home.tsx
β β β βββ Explorer.tsx
β β β βββ SystemMonitor.tsx β¨
β β βββ components/
β β β βββ Layout.tsx
β β β βββ ConnectionHistory.tsx β¨
β β βββ App.tsx
β βββ start.sh # Start script
β βββ README.md
β
βββ FRONTEND_IMPLEMENTATION.md # Implementation guide
βββ README.md # This file
- Total Databases - Count of all registered databases
- Total Collections - Sum across all databases
- Total Documents - Complete document count
- Auto-refresh - Updates every 5 seconds (toggleable)
Each database shows:
- Path and filename
- Number of collections
- Number of documents
- Access count
- Last accessed time
Click any database to see:
- Average operation time
- Recent operations (last 10)
- Operation durations
- Color-coded operation types:
- π΅ open_database
- π’ create_database
- π£ insert_document
- π‘ update_document
- π΄ delete_document
GET /api/system/stats # System statistics
GET /api/system/connections # Connection history
GET /api/system/metrics/{db} # Performance metrics
DELETE /api/system/connections/{db} # Remove connection
POST /api/databases/open # Open database
POST /api/databases/create # Create database
GET /api/databases/{db}/stats # Database stats
POST /api/databases/{db}/documents # Insert
GET /api/databases/{db}/documents # Find all
PUT /api/databases/{db}/documents # Update
DELETE /api/databases/{db}/documents # Delete
- Backend README - Backend API & System DB
- Frontend README - Frontend usage guide
- System DB Guide - System database details
- Architecture - System architecture
- Implementation - Implementation guide
cd backend
./test_system_db.shcurl http://localhost:5800/api/system/stats | jq- Database Development - Quick prototyping and testing
- Performance Monitoring - Track operation durations
- Usage Analytics - See which databases are used most
- Database Management - Centralized control of multiple DBs
- System database stored in user's home directory:
~/.keradb/ - No authentication (add for production use)
- CORS enabled for development
See individual README files in backend/ and frontend/ directories.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Built with β€οΈ using Rust, React, and keradb