Code Monkey home page Code Monkey logo

handball-liveshow-spain's People

handball-liveshow-spain's Issues

[Issue] Icorrect stop when limit

If you set a limit time of 30 minutes sometimes stops before 30:00 at 29:59. Probably because to determine stop is checking tickTime and not checking that currentTime >= limit and currentTime < (limit + tickTime)

[Feature] Restart on crash

Would be great the usage of pm2 to restart on crash.

Other possibility is to run it on VPS by using Docker that can do the same task. This would avoid the need of using local instance but to use api keys would be great to add jwt or similar and authentication.

The most awesome thing to do would be enable only when there is a match based on rfebm data.

[Issue] Performance change

Suspensions can be optimized to render more atomic and granular which could improves performance.

Probably also a good approach to improve the performance could be more usage of React.memo.

Another good idea its to wrap all suspensions in a Lazy component that only loads when any suspension is on the actions.

[Feature Request] Watch changes to rebuild and restart automatically

Docker was added at the same time of some stuff was removed because there were some issues with include-nodecg.

Currently you can watch always for changes to build but you must restart manually docker container.

Watch for changes

pnpm run pm:dev

Restart podman

After build is done:

pnpm dev:rs

Problem

This is slow for developing but currently is the best option to avoid errors of using include-nodecg.

Ideally, would be use include-nodecg with pm2 as it was before and use Docker builded image for production.

Feature: Integrate Million

Description

Integrate million to make web faster.

Tasks

  • Install million
  • Replace all .map to use the <For /> component.
  • Add million in top level page which makes easier to integrate it. If fail go more atomic and so on until it works.
  • Check performance before and after to know if it really improves the performance.

Reference

[Refactor] Stopwatch code

Refactor and improve all related code to the stopwatch.

TODO

  • Review the backend code and update methods to use post/get/put instead of having all in get.
  • Refactor the hooks
  • Usage of workers to update the timer instead of doing all in same process.

[Refactor] All backend code

This is a low priority because currently the most important thing is have working graphics for the matches.

[Feature] Atem Control

Control ATEM Mini to show live graphics.

Autodiscover

For autodiscover we can use mdns package and there is example in companion module for atem on how to implement so it is basically a copy&paste and adaptation work.

Idea

The main idea is to generate faders and macros when live and execute them dinamically. Probable these macros should be preconfigured manually by a developer.

Motivation

The idea of automate transitions and scenes based on current game status to make it easier to stream for any no known technical person.

Other related improvements

Automate transitions and scenes of OBS. But the idea of this project is to full replace obs with the only main idea of being focus in handball events. Whatever there are things that are technically more complicated like Instant Replay which can be easier to handle with OBS because there is already a plugin that does that. Whatever the idea of Instant replay should be explored because is technically possible with the usage of MediaStream & MediaRecording apis by using a capture card. Probably a Raspberry Pi will be short for an usage like this but there are some affordable mini pcs that probably can do this work.

Other idea can be a different Graphics for each scene and switch them into the ATEM... All possibilities should be explored.

References

[Feature Request] Live scoreboard video

Use remotion to generate independant video with live scoreboard to add it fixed in a post match video edit.

Also can be good generate images to edit in post match with any video editor.

[Feature request] Custom scoreboard design

Customization of the appearance of the scoreboard.

This can be done manually with css/html but the idea is to use overlays to do it and moving the items by dragging.

The colors can be modified with css variables. Currently is not active and working but it can be done.

[Feature Request] Start scene

  • Start scene for introducing the match with:
    • Local players list
    • Visitor players list
    • Match Date, place, week and referees.
  • Presentation slideshow to show player 1 by 1 or list.

[Issue] Periods

Stowatch is running well and stops well when introduces only 1 period and limit time but more periods to stop automatically is not working at all.

Refactor absolutely necessary & some improvements

Refactor of all code is absolutely necessary. Currently has no architecture or minimal order all the code.

  • There are components too complex
  • Ideally all graphics component that have administrative part (dashboard) should be in same component folder under src/components/<component_name>/[graphics/dashboard].
  • Not common libraries should be in the component folder.
  • Replicants name should be avoided and create a custom hook use<Schema>Replicant for each schema to avoid errors.
  • Routes should not be all using get method.

Necessary features

  • Customize css vars, currently is already possible and shields configuration do that right now. Would be nice personalize almost, at least, all colors.
  • Save current advert banner and do not restart all banners when hide/show. If you hide the banners and show it will always start from same banner which means not equality of advertising for every sponsor.
  • Create banners from sponsor logos.

[Feature Request] Banners with custom times and properties

Description

Customize banner time, animation and Height individually.

This would be useful to show some temporary data like classification or auto promos with less time than sponsor times or rotation components instead of images.

TODO

  • Advertising must be in its own NodeCG workspace.
  • A select of banners to show only selected banners.
  • Customize the seconds that it will be showed (optionally). TODO this, time that a banner is showed before transition must be calculated like in the stopwatch.

[Issue] Not in match scene title

Not in match scene title is currently change messages based on hardcoded time. Would be very good to look for the stopwatch limits to put those messages and let the user customize those messages. Detecting if it is a break based on the number of periods and limit.

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.