Handy tools for managing my live stream, built with ASP.NET Core
Clone or download
MichaelJolley and csharpfritz Fixed a few issues with the Follower UI & FollowerCountConfiguration.…
…LoadDefaultSettings method (#226)

* Fixed issue in FollowersCountConfiguration model that overwrote any custom background or font color codes that were already set.

* Improved follower configuration UI to display based on a provided background & font color or display by default using values in the app.settings.
Latest commit b878df4 Jan 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ConsoleChatbot Refactor FritzBot class and added full coverage with unit tests. (#149) Jan 18, 2019
Fritz.Chatbot Refactor FritzBot class and added full coverage with unit tests. (#149) Jan 18, 2019
Fritz.StreamLib.Core Added a SignalR Hub to play sound in a webpart Dec 18, 2018
Fritz.StreamTools Fixed a few issues with the Follower UI & FollowerCountConfiguration.… Jan 18, 2019
Fritz.Twitch Added try..catch blocks and null checks to ChatClient to ensure clean… Jan 6, 2019
StreamAnalytics Version 0.9.1 (#67) Mar 10, 2018
Test Refactor FritzBot class and added full coverage with unit tests. (#149) Jan 18, 2019
docs/images Merging May 12, 2018
.dockerignore First commit Dec 12, 2017
.editorconfig Added First iteration on Bot (#79) Mar 17, 2018
.gitattributes Fixing line-endings May 12, 2018
.gitignore Updated gitignore to ignore project specific files Jan 11, 2018
Fritz.StreamTools.sln Console Test app for Chatbot (#141) Oct 15, 2018
LICENSE Initial commit Dec 12, 2017
README.md Update README.md Dec 15, 2018
build.cmd Updated with amazing new FritzBot (#102) Apr 28, 2018
docker-compose.ci.build.yml Added First iteration on Bot (#79) Mar 17, 2018
docker-compose.dcproj Added First iteration on Bot (#79) Mar 17, 2018
docker-compose.override.yml Added First iteration on Bot (#79) Mar 17, 2018
docker-compose.yml Updated to 2.1-rc1 May 26, 2018
global.json Console Test app for Chatbot (#141) Oct 15, 2018

README.md

Fritz.StreamTools

Handy tools for managing my a live video stream and outputting video widgets that can be used directly in OBS or other streaming tools.

Build status

Features

The project is intended to be built as a Docker container and configured with a series of environment variables. It is intended to support a single-user, and not run on the public-facing internet.

The following features are supported by this project:

  • A checklist rundown of segments of the show (/rundown) that is updated from another page (/admin)
  • A followers count API that reports the total number of followers: GET /api/Followers
  • A followers count page that can be easily styled and formatted at /Followers/Count
  • A followers goal meter that can be sized and have its goal caption and value set, complete with configuration screen at /Followers/Goal/Configuration Follower Goal Sample

Services Supported

The project supports reading stream metrics from the following services:

  • Mixer
  • Twitch

Contributing

This application was built with ASP.NET Core 2.0 and can be built on Mac, Linux, and Windows. Download the .NET SDK and grab a copy of Visual Studio Code to get started on any platform.

How to contribute

  1. Open new issue or find some interesting,
  2. Fork repository,
  3. Create new branch in your fork from dev,
  4. Code something awesome,
  5. Create pull-request from your branch to our dev branch,
  6. In pull request write what you did and why, if it requires an explanation,
  7. (Optional) Answer questions or correct your code if needed,
  8. Celebrate that you are new Contributor :)

More about forking

Building and running locally

  1. Ensure pre-requisites:
    1. .NET Core 2.1 SDK
    2. Docker
  2. Fork repository
  3. Clone
  4. (Recommended) Open in editor such as Visual Studio or Visual Studio Code
  5. Add GitHub > User and AuthenticationToken to Fritz.StreamTools\appsettings.json (no scopes needed)
  6. Run dotnet build .\Fritz.StreamTools.sln to confirm build success
    1. If error: A compatible SDK version for global.json version, update the version in global.json to match your .NET version.
    2. If error: \Fritz.StreamTools\Test\Test.csproj : error NU1605: Detected package downgrade, update the version numbers to match what is expected based on the error.
  7. Run docker-compose -f "docker-compose.yml" -f "docker-compose.override.yml" up -d --build
  8. Run docker ps to find the port (for example: "32768" in "0.0.0.0:32768->80/tcp")
  9. Browse to http://localhost[port]

Configuration

Google Fonts Api

To use your own Google Fonts Api key without modifying the Fritz.StreamTools\appSettings.json you can place your key in the secrets.json file in the path appropriate for your OS.

The userSecretsId is 78c713a0-80e0-4e16-956a-33cf16f08a02 and can be found in Fritz.StreamTools\Fritz.StreamTools.csproj.

If you are using Visual Studio you can use the integrated User Secrets management UI

The secrets.json file should look like this

{
  "GoogleFontsApi": {
    "Key": "<YOUR API KEY>"
  }
}

Naming guideline for unit tests

  • Create a folder for each "logical class"
  • Create a test class for each feature to test - end with "Should"
  • Test Methods should describe what they are inspecting and what they're given, if anything.. ending with "_Given..." Example: StreamService.CurrentFollowerCountShould.MatchCurrentFollowerCount_GivenOneService