Skip to content

matthid/CSGO-Demo-Manager

 
 

Repository files navigation

CSGO Demo Manager

This template can be used to generate a full-stack web application using the SAFE Stack. It was created using the dotnet SAFE Template. If you want to learn more about the template why not start with the quick start guide?

AppVeyor Build status

Azure DevOps Build Status

Install pre-requisites

You'll need to install the following pre-requisites in order to build CSGO Demo Manager

  • The .NET Core SDK
  • FAKE 5 installed as a global tool
  • The Yarn package manager (you an also use npm but the usage of yarn is encouraged).
  • Node LTS installed for the front end components.
  • If you're running on OSX or Linux, you'll also need to install Mono.

Work with the application

To concurrently run the server and the client components in watch mode use the following command:

fake build -t Run

Build package

fake build -t CreateInstaller

Components Documentation

You will find more documentation about the used components at the following places:

  • Giraffe the backend server technology based on ASP.Net.Core
  • Fable the F# to JS transpiler (frontend)
  • Elmish the general architecture
  • Fulma the bulma based css framework
  • react the general view framework
  • react-table to support in tabular views
  • Electron to bundle everything as pp

Troubleshooting

  • fake not found - If you fail to execute fake from command line after installing it as a global tool, you might need to add it to your PATH manually: (e.g. export PATH="$HOME/.dotnet/tools:$PATH" on unix) - related GitHub issue

Why rewrite the frontend?

Original Demo Manager

  • is slow for lots of demos
  • makes it hard to contribute due to paid telerik components
  • doesn't have the analytics I'd like to have
  • ... Further ideas

TODOs

  • Improve performance of MM download
  • Windows Installer
  • Download MM demos after CSGO is closed
  • "properly" Support multiple accounts
  • Mark Win/Loss on Demos
  • Implement DialogService for notifications
  • Details page for demos
  • Watch details page/popup -> Launch CSGO
  • Heatmap
  • Make columns customizable
  • Warn when CSGO is open (MM Download)

Packages

No packages published

Languages

  • F# 82.1%
  • C# 10.8%
  • JavaScript 6.4%
  • Other 0.7%