/csgo-map-veto

An application to do map veto for the game Counter-Strike Global Offensive.

Primary LanguageTypeScriptGNU General Public License v2.0GPL-2.0

CSGO Map Veto

Desktop and WEB application to do maps veto for the game Counter-Strike Global Offensive.

Preview

Installation

You can use the web version here or download the last desktop version here.

Database

Since the version 2.0.0, an optional database service (MySQL) is available to persist your vetos.

Assuming you have a working MySQL server, if you want to use it you have few steps to do:

  1. Download the binary file called backend for your OS from GitHub
  2. Create a file called .env next to the backend file and copy paste the content of .env.example into it
  3. Edit the .env file and adjust the values if necessary
  4. Create a database, by default the name is csgomapveto, you can change it from the .env file
  5. Execute the backend file, the database should be running now
  6. Launch the application, go to the settings and fill the API address field (example http://localhost:3080 by default)

Development

Application

  1. yarn
  2. yarn dev for WEB version, yarn dev:electron for the Electron version

Database

You have to install go to run the database during development.

  1. cp backend/.env.example backend/.env
  2. Edit the .env file and set DISABLE_CORS and DEBUG to true, you can also adjust the other options if you want
  3. yarn db to build and start the database

Production build

Application

To build the WEB version
yarn build:web

To build the desktop application for your current OS
yarn build:electron

To build the desktop application for all platforms (tested on MAC OS only)
yarn build:electron:all

Dist files are located in the dist folder for Electron build and in the out folder for the WEB build.

Database

yarn build:db

The binary file is located in backend/backend[.exe].

Tests

Unit / integration tests

yarn test

Or yarn tw to watch the tests.

E2E tests

yarn e2e (headless mode)
yarn e2e:debug (open Cypress to debug tests)

Coverage report

yarn test:coverage

License

GPL v2