Code Monkey home page Code Monkey logo

fritz.streamtools's Introduction

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

fritz.streamtools's People

Contributors

csharpfritz avatar jbdk avatar dependabot-preview[bot] avatar dependabot[bot] avatar patrykolejniczak avatar brunojuliao avatar slamidtfyn avatar leighwaldie avatar bardaky avatar parithon avatar smabuk avatar staker4 avatar seangwright avatar alexcnichols avatar eonasdan avatar lannonbr avatar billwagner avatar quackenbushdev avatar codemancodes avatar crypticenigma00 avatar devsgarage avatar domfx avatar ethomson avatar londospark avatar joegeary avatar bravecobra avatar

Watchers

Hugo Dahl avatar James Cloos avatar

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.