Giter Club home page Giter Club logo

competiwatch-desktop's Introduction

Competiwatch Desktop

Actions Status

Download the app - see what's new

This is a desktop app for Windows and macOS to track your competitive match history in Overwatch. I wanted to see my progress over time, more than what the game or sites like Overbuff provide. The app lets you see which heroes you're performing best on, which roles, whether you do better on weekday mornings or weekend evenings, whether joining voice chat helps your win rate, that sort of thing.

Screenshot of match history

Screenshot of log match form

Screenshot of trends page

Screenshot of settings page

Screenshot of accounts page

See the changelog for what has changed each version.

Features

  • Track matches across different roles, Battle.net accounts, and competitive seasons
  • Log details such as your new SR, which people you played with, whether you were in a 6-stack or solo queuing, what time you played, whether you got Play of the Game, which heroes you played, and what map you played
  • Export your match history as a CSV file (Comma-Separated Value)
  • Import your match history for past seasons
  • View charts summarizing your season
  • Log your placement matches and regular season games
  • See when you go on win streaks or loss streaks
  • Choose between a dark and light theme, or automatic based on time of day
  • Works in Windows and macOS

How to Install

For version 1.9 and later, download the Windows installer from the latest release. I've tested this on Windows 7 and Windows 10. Just run the installer and a Competiwatch shortcut will be added to your desktop.

You can also download the non-installer version and unzip the folder wherever you'd like. Run the app via the Competiwatch.exe executable in that folder.

You will probably be prompted by Windows that the app is unrecognized; the message in Windows 10 reads "Windows SmartScreen prevented an unrecognized app from starting." Sorry about that, it's being worked on. You can choose to run the app anyway (hit "more info" in Windows 10) and it shouldn't prompt you again for that version.

How to Uninstall

If you installed via the installer in Windows, just use the Control Panel and Add/Remove Programs to uninstall Competiwatch. The shortcut should be removed from your desktop.

If you did not use the installer, you can just delete the folder that has Competiwatch.exe in it, wherever you unzipped that folder.

How to Develop

This app was built with node version 12.4.0 and npm version 6.9.0. See the contributing guidelines.

npm install
npm run dev

The app should launch and also open in your browser. You can close the browser tab.

Log Files

While you run the app, Electron logs will end up in the following places:

  • on macOS: ~/Library/Logs/Competiwatch/log.log
  • on Windows: %USERPROFILE%\AppData\Roaming\Competiwatch\log.log
  • on Linux: ~/.config/Competiwatch/log.log

React logs will show in your terminal. You can run tail -f ~/Library/Logs/Competiwatch/log.log in macOS in a separate terminal from npm run dev to monitor Electron logs while the app is running.

How to Run Tests

npm install
npm test
npm run check-format

To see test coverage, run npm test -- --coverage. A coverage report will display in your terminal or you can open coverage/lcov-report/index.html in your browser.

Please run npm run fix-format on your files before opening a pull request. This will format your JavaScript, TypeScript, and JSON.

How to Build Executables

For macOS, from a Mac run:

# produce a new directory in dist/ that has a distributable .app file:
npm run electron-build-macos

For Windows, from a Windows machine run:

# produce dist/Competiwatch-win32-x64/ with .exe files:
npm run electron-build-windows

# generate an installer in dist/installers/:
npm run electron-build-windows-installer

competiwatch-desktop's People

Contributors

antn avatar cheshire137 avatar dependabot[bot] avatar finncyr avatar playg0n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

competiwatch-desktop's Issues

Show wins/losses by map type

If you don't want to make another category for map type, one way to implement this could be:

  1. Group maps by type (so instead of B. World, Busan, Dorado,..., make it B.World, Eichenwalde, Hollywood,...)
  2. Add map type under these groups
  3. Let the current bars be as they are above the map names.
  4. Add the same kind of bars, mirrored, facing downward below map type!

Allow creating new maps

For users who can't or don't want to upgrade to the latest version when a new map is released. Can be handled like seasons with the app knowing existing maps and the user able to add others so they can be picked in the match form. Don't need to allow custom colors for user-added maps.

Show win percentages

Having win percentages in addition to counts in each trend category would be really nice. The percentage could show up in addition to the count in the mouse-over tooltip.

Is this going to be updated every season?

The desktop app doesn't have season 12 yet. Is this going to be updated to add each season or is that something we need to add ourselves? If it's something we need to do, how do I go about adding it?

Line graphs per account

Could let you view a line graph across seasons per account, to show peak and ending SR over time.

Show export link on matches page

Maybe a new menu option when you have an account + a season selected and there are matches. Maybe show as a link at the bottom, like the import link. Maybe show as a tab up top.

JS error in built Windows app

After running npm run electron-build-windows and opening the resulting .exe, this error shows up in the JavaScript console:

Uncaught (in promise) TypeError: Request scheme 'file' is unsupported
    at service-worker.js:1
    at <anonymous>

Add tests

Need to figure out a testing framework. Be sure to exclude test/ directory from packaging.

Allow creating new heroes

For a user who can't or doesn't want to download the latest version, it would be nice to be able to add new heroes and have them as options in the match form. Could be handled like seasons, where the app has some hardcoded values and you can add others to supplement those. Don't need to allow custom images for new heroes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.