Admin dashboard for sump - Simple User Management Platform.
Caution
This is still very WIP
sump-ui provides a web-based admin interface for managing your sump server remotely. It gives tenant administrators a visual way to manage their tenants, environments, and users without direct API calls.
- Multi-step wizard to create a new tenant
- Sets up owner account and initial environment in one flow
- Automatic login after tenant creation
- Secure login with email/username + password
- Session management via HTTP-only cookies
- Protected dashboard routes with automatic redirects
- Tenant overview with key information
- Quick actions for common tasks
- Copy tenant ID with one click
- List all environments in your tenant
- Create new environments
- View environment details and ID
- Delete environments with confirmation dialog
- Create users within any environment
- Set user credentials (name, email, username, password)
- Optional fields for phone and avatar URL
- Form validation for required fields
- View and edit tenant name
- View tenant metadata and custom properties
- Session information display (account type, expiration)
- Framework: Next.js 15 (App Router)
- UI Components: shadcn/ui
- Styling: Tailwind CSS v4
- Forms: React Hook Form + Zod validation
- HTTP: Native fetch with credentials for cookie auth
- Testing: Playwright E2E
- Node.js >= 20
- A running sump server
git clone https://github.com/thassiov/sump-ui.git
cd sump-ui
npm installCreate a .env.local file:
# URL of your sump API server
NEXT_PUBLIC_API_URL=http://localhost:8080/api/v1# Development server (default: http://localhost:3000)
npm run dev
# Production build
npm run build
npm start# Run E2E tests (requires sump server running)
npm run test:e2e
# Run with Playwright UI
npm run test:e2e:ui
# Debug mode
npm run test:e2e:debug
# View test report
npm run test:e2e:reportsrc/
├── app/
│ ├── (auth)/login/ # Login page
│ ├── (dashboard)/ # Protected dashboard routes
│ │ ├── dashboard/ # Home/overview
│ │ ├── environments/ # Environment CRUD
│ │ │ └── [envId]/users/ # User management
│ │ └── settings/ # Tenant & account settings
│ └── setup/ # Tenant onboarding wizard
├── components/
│ ├── ui/ # shadcn components
│ ├── forms/ # Form components
│ └── layouts/ # Sidebar, header
├── contexts/ # Auth & tenant context
├── hooks/ # useAuth, useTenant
├── lib/api/ # API client modules
└── types/ # TypeScript definitions
- sump - The backend API server this UI connects to