admin routes: - Get /login - Post api/auth - Get /dash { dashboard. show list of tables, new table } - Get /new { new table interface } - Post /new { create new table } - Get /table/ { edit given table - standard table view plus admin features - manage availableTokens via /storage/ routes - manage map bg } - Post/Put /storage/// { upload token or map bg } - Delete /storage/
// { delete token } - Get /storage/ { static storage tree } subscribe: subscribe (tableKey) => { subscriber[s] = tablekey; return getCurrentState(tableKey) } publish: publish (updateData) => { writeToDB(updateData) for s, k := range subscribers if k == updateData.tableKey { s.msgs <- updateData } }