This is a digital, interactive, saveable character sheet designed for DnD 5e. It is meant to be easily customizable, with a certain amount of automation (like calculating attribute and proficiency bonus, spell slots, adding of SRD spells and items etc.) to provide some quality-of-life. It's available as both a web version and a desktop version. The desktop version may trigger some anti-virus programs because it's not a signed installer (out of monetary reasons) but it is 100% safe!
Programmatically, the switch between the two versions happens in the SettingsSlice.js. If the variable "isDesktop" is true, it will build the desktop version which includes a SQLite database for characters and window buttons like close/minimize/maximize. If it is set to false, it will build the web version which instead of the database includes buttons to import/export a character's state to a stringified json.
To start a dev serve run "npm run bstart" To build the site use "npm run ebuild"
The desktop version is made by using Electron, a chromium based framework, and electron-forge to package and make an installer.
To start an electron developer server, go to main.js in the Electron folder and comment out "win.loadFile('./build/index.html')" and instead uncomment "win.loadURL('http://localhost:3000')" while also running a dev server of the react part at the same time via "npm run bstart".
Run "npm run start" or "npm run estart" to run a developer electron environment.
Make sure "win.loadFile('./build/index.html')" is the uncommented one in main.js in the Electron folder and run "npm run package" to package the electron application and "npm run make" to package the app and make an installer at the same time