all repos — felt @ 4ea3e656d687f901f5d30c56d9196e9b99077dcb

virtual tabletop for dungeons and dragons (and similar) using Go, MongoDB, and websockets

notes.txt (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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/<name> {
      edit given table - standard table view plus admin features
      - manage availableTokens via /storage/ routes
      - manage map bg
    }
  - Post/Put /storage/<table>/<type>/<name> {
      upload token or map bg
    }
  - Delete /storage/<table>/<type>/<name> {
      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
      }
  }