- 🐺 What is this tool ?
- 🔍 Let's try !
- 🃏 Roles available
- 📈 Versions & changelog
- ☑️ Code analysis and consistency
- 🔨 Installation
- 🔌 Let's go
- ⚙️ Other useful commands
- ©️ License
- ❤️ Contributors
🐺 Werewolves Assistant Web is a Vue web app using the Werewolves Assistant API. Thanks to this app, being the game master of the Werewolves of Millers Hollow game is so easy !
🐺 Werewolves Assistant Web provides some cool features :
- A game lobby for creating a party starting from 4 to 40 players. Roles can be assigned randomly to save time. Game official rules can be changed to add fun and complexity.
- A cool interface displaying all useful game's data, player and their attributes, both sides (villagers and werewolves) and more.
- For each turn, game master can fill every player's choices. The Assistant will consequently display deaths and events, manage the turns order and save all players choices.
- Musics and sound effects are played during the game to set up the appropriate atmosphere depending on the situation. Obviously, you can manage those audio parameters.
- At the end of the game, a complete summary with game's winner(s) and what happened during the game. You can also review your experience for helping the Assistant to improve.
🤔 Want to know more about this awesome project ? Check out the dedicated about page.
Two versions are available for testing this project:
Sandbox version may contain some bugs and unexpected behaviors as its purpose is to test new features before deploying on main version.
Both versions are running on a server with the following configuration:
- OS:
Debian GNU/Linux 10 (buster)
- NodeJS:
v14.16.1
- NPM:
v6.14.12
- MongoDB shell version:
v4.4.5
The MongoDB database is protected under username and password authentication.
On this current version , 24 different roles are available to play:
- The Werewolf
- The Big-Bad-Wolf
- The Vile Father Of Wolves
- The White Werewolf
- The Villager
- The Villager-Villager
- The Seer
- The Cupid
- The Witch
- The Hunter
- The Little Girl
- The Guard
- The Ancient
- The Scapegoat
- The Idiot
- The Two Sisters
- The Three Brothers
- The Stuttering Judge
- The Wild Child
- The Dog-Wolf
- The Thief
- The Angel
- The Pied Piper
- The Raven
Please check the Player role section on API documentation or the Available Roles section on the official website for more details about each role.
Each change when a new version comes up is listed in the CHANGELOG.md file placed at project's root.
Also, you can keep up with changes by watching releases with the Watch GitHub button at the top of this page.
Current release on main version is .
Travis helps the project to be automatically updated by deploying new versions for both sandbox and main versions. Please refer to the .travis.yml file for more details.
In order to keep the code clean, consistent and free of bad JS practises, ESLint is installed with nearly 320 rules activated !
Complete list of all enabled rules is available in the .eslintrc.js file.
- Install dependencies with
npm install
(add--production
to omit dev dependencies). - Copy
.env.example
and paste it as.env
. - Replace environment values in the fresh new
.env
file if necessary (When⚠️ ️ Required is specified):- VUE_APP_WEREWOLVES_ASSISTANT_API_URL: Base URL of Werewolves Assistant API.
⚠️ ️ Required
- VUE_APP_WEREWOLVES_ASSISTANT_WEB_URL: Base URL of Werewolves Assistant Web app. Set to
localhost:8080
if in development mode.⚠️ ️ Required
- VUE_APP_SENTRY_KEY: Private key used by Sentry for authenticating the project.
- Not Required
- VUE_APP_SENTRY_PROJECT_ID: Project ID used by Sentry.
- Not Required
- VUE_APP_SENTRY_ENABLED: If you want to enable error tracking with Sentry.
- Not Required - Default value:
false
- Not Required - Default value:
- VUE_APP_GOOGLE_ANALYTICS_ID: Tracking and measurement ID used by Google Analytics.
- Not Required
- VUE_APP_GOOGLE_ANALYTICS_ENABLED: If you want to enable traffic data measurement with Google Analytics.
- Not Required - Default value:
false
- Not Required - Default value:
- VUE_APP_FACEBOOK_APP_ID: Facebook application ID if you want to enable Facebook authentication.
- Not Required
- VUE_APP_GOOGLE_CLIENT_ID: Google client ID if you want to enable Google authentication.
- Not Required
- VUE_APP_WEREWOLVES_ASSISTANT_API_URL: Base URL of Werewolves Assistant API.
To start the web app on development mode, simply run npm start
.
To start the web app on production mode, run npm run build
and host the dist
folder with an HTTP server.
- Lint:
npm run lint
checks for code style. - Build:
npm run build
launches the Vue build process. - Unit tests:
npm run test:unit
runs various unit tests usingmocha
andchai
. - E2E tests:
npm run test:e2e
runs various E2E tests usingcypress
.
This project is licensed under the MIT License.
There are no contributor yet... Be the first one by creating a pull request !