MetroStar / jh-admin-dashboard

React based Admin UI for JH https://github.com/jupyterhub/jupyterhub/issues/3039
MIT License
2 stars 1 forks source link

Jupyterhub Admin Dashboard - React Variant

This repository contains current updates to the Jupyterhub Admin Dashboard service, reducing the complexity from a mass of templated HTML to a simple React web application. This will integrate with Jupyterhub, speeding up client interactions while simplifying the admin dashboard codebase.

This service relies heavily on front-end web services, leaving little to be expected from the python/tornado server side template rendering system JupyterHub is accustomed to. Therefore, most of the heavy lifting is done on the React end.

Build Commands (react)

First, cp react-fe then:

Build Commands (pip package)

What to add to your Jupyterhub config:

from jhadmin.app import JH_ADMIN_TEMPLATE_PATHS
from jhadmin.hubextension import jhadmin_extra_handlers
c.JupyterHub.template_paths.extend(JH_ADMIN_TEMPLATE_PATHS)
c.JupyterHub.extra_handlers.extend(jhadmin_extra_handlers)

React UI Views:

Server Dashboard Page:

Main dashboard component allowing an admin to start/stop the hub's servers as well as perform user moderation.

serverdashboard

Add User Page:

React view for adding users and selecting their privilege level.

addusers

Edit User Page:

React view for delegating or revoking admin privilege as well as updating user names.

edituser

Group List Page:

React view for listing available groups of users.

grouplist

Group Edit Page:

React view for adding or removing users from a group.

GroupEdit