This is a school project that has been updated to not use a database. It is a in memory functionality and all messages are lost after a reboot.
A custom website for handling charactersheets, battlemaps etc. Most functionality is now handled, smaller updates need to be done to the VTT side. Work progress is around 70 % from the envisioned end result.
The charactersheet working version highlight
The spells portion of the charactersheet holds many parts. Prepared, ritual spells, feat spells, known spells and spell slots that can be adjusted. Each spell is added with a picker and each spell can be prepared.
Other things the DM sees are encounters, adding a map to the encounter, adjusting initiatives, add creatures, add spells, change spell descriptions, control who can join the page by adding users, and adjust all charactersheets.
The dungeon master can also move character sheets between players, add them to a campaign and set notes for each player / character. Each character can also add their own notes visible to the dungeon master.
The vtt side uses sockets to communicate between each other and the data is saved to a database.
The vtt player view
The vtt dungeon master view
There's a lot of functionality in the the vtt, mostly run with php, javascript (node.js in backend and jquery / plain javascript in the frontend). There's a fog of war for, visibility slider, wall functionality and measurement of movement. Each player can move their own characters and the dungeon master can move all characters. There will probably be other functionality added at a later date.