Skip to content

antoinezanardi/werewolves-assistant-web

Repository files navigation

🐺 Werewolves Assistant Web

GitHub release GitHub license Build Status Known Vulnerabilities Contributions are welcome

ForTheBadge open-source ForTheBadge built-with-love ForTheBadge made-with-vue

πŸ“‹ Table of Contents

  1. 🐺 What is this tool ?
  2. πŸ” Let's try !
  3. πŸƒ Roles available
  4. πŸ“ˆ Versions & changelog
  5. β˜‘οΈ Code analysis and consistency
  6. πŸ”¨ Installation
  7. πŸ”Œ Let's go
  8. βš™οΈ Other useful commands
  9. ©️ License
  10. ❀️ 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:

✨Main version

πŸ”§Sandbox version

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 GitHub release, 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 GitHub release.

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.

  1. Install dependencies with npm install (add --production to omit dev dependencies).
  2. Copy .env.example and paste it as .env.
  3. 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
    • 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
    • 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

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 using mocha and chai.
  • E2E tests: npm run test:e2e runs various E2E tests using cypress.

This project is licensed under the MIT License.

There are no contributor yet... Be the first one by creating a pull request !

About

Werewolves Assistant Web is a Vue web app using the Werewolves Assistant API. Thanks to this app, be the game master of the Werewolves game is so easy ! Try it out now with live demos below.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published