A full stack web application made for creating and storing character sheets for The Witcher RPG. Hosted at https://witchermancer.onrender.com/.
The deploy
branch is set up to auto-deploy on Render. The dockerfile and the server setup are specifically created to be deployed on render and will require tweaking to work on a different hosting.
The Vue app expects a single enviornment variable, VUE_APP_LOCALIZATION_URL
which should contain the url to a Google Sheets document, containing localization, output in a CSV format.
The .NET app requires five environment variables. First two, Google__ClientId
and Google__ClientSecret
, are both generated in Google dashboard and used for OAuth2.
The other three are MongoDb__ConnectionString
, MongoDb__DatabaseName
and MongoDb__CharactersCollectionName
.
It is recommended to run the application by building the front-end app and serving it from the server.
To do so, first clone the repository. Then enter the client
directory and run
npm install
Then either export an environment variable, or create a .env
file with the following content
VUE_APP_LOCALIZATION_URL=<link to your localization doc>
Then build the client app with
npm run build
With the client app successfully built, add a Google
section to your appsettings.json
. In it, add ClientId
and ClientSecret
with values gathered from the Google dashboard.
Also, create a MongoDb
section, with ConnectionString
, DatabaseName
and CharactersCollectionName
keys.
Finally, run
dotnet run --launch-profile https
.NET 6 is specifically required to run, as in .NET 7 a bug was introduced which no longer allows the app to run correctly.
The project is licensed under the MIT license. For full license text, see the LICENSE
file.