Code Monkey home page Code Monkey logo

frontend's People

Contributors

dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

frontend's Issues

Branding

Need a logo and other branding

Admin UI

Need to create an actual UI that is not basic, unstyled ASP.net pages

Add logging / telemetry

  • Add AI JS telemetry
  • Add sensible tracing through the code
  • Try and figure out how to log current viewer counts

Create Terraform files

Infrastructure as code offering one-click region creation:

  • Create RG with

    • Name ggstream-edge-{region}
  • Create Edge VM with:

    • Name ggtream-edge-{location}, Ubuntu 18.04 in RG ggstream-edge-{region}
    • IP address ggtream-edge-{location}-ip, statically assigned, with DNS label ggtream-edge-{location}
    • NSG ggstream-edge-{location}-nsg has three new rule
      • 3334 WebRTC (310)
      • 8443 HLS/DASH (320)
      • 10000-10005/udp WebRTC ICE (330)
    • System-managed identity with AcrPull role on ggstream-docker
    • Add TrafficManager entry
      • ggstream-svc -> ggstream-edge-{location}-ip
    • If possible, DNS entry in CloudFlare
      • A svc-az{location}.ggstream.app -> ggstream-edge-{location}-ip

Current and Future GGStream Nodes

Region Location Type Status
North America / na Seattle / svc-sea.ggstream.app ๐Ÿ“ฅ Origin โœ” Live
Seattle Frontend / ggstream.app ๐Ÿ’ป Frontend โœ” Live
Canada Central / svc-azcac.ggstream.app ๐Ÿ“บ Edge โœ” Live
Central US / svc-azcus.ggstream.app ๐Ÿ“บ Edge โœ” Live
East US / svc-azeus.ggstream.app ๐Ÿ“บ Edge โœ” Live
South Central US / svc-azscus.ggstream.app ๐Ÿ“บ Edge โœ” Live
West US / svc-azwus.ggstream.app ๐Ÿ“บ Edge โœ” Live
North Central US ๐Ÿ“… Planned
Europe / eu North Europe / svc-azneu.ggstream.app ๐Ÿ“บ Edge โœ” Live
West Europe / svc-azweu.ggstream.app ๐Ÿ“บ Edge โœ” Live
Norway West ๐Ÿ“… Planned
Asia / asia Japan East / svc-azjpe.ggstream.app ๐Ÿ“บ Edge โœ” Live
Southeast Asia / svc-azseasia.ggstream.app ๐Ÿ“บ Edge โœ” Live
Central India ๐Ÿ“… Planned
Africa / afr South Africa North ๐Ÿ“… Planned
Australia / aus Australia Central ๐Ÿ“… Planned
Middle East / me UAE Central ๐Ÿ“… Planned
Israel Central ๐Ÿ“… Planned
South America / sa Brazil South ๐Ÿ“… Planned

Better stream not live page

Redirect to a custom page which gives the schedule for the future ("starts in 20 minutes") using something akin to Humanizr (but for .net core) and "Stream has ended" for past streams (maybe with next public stream)

AuthN/AuthZ T2

This is the mega-issue that tracks the authentication and authorization story for GGStream.
Currently, authentication is based on a single AAD tenant and grants the user access to all streams and collections, private (unlisted) or not.


AuthN

  • Open login to other AAD tenants and MSA
  • Create User model linked to AAD/MSA identity
  • Users automatically have an entry created on first login, cannot pre-create accounts

AuthZ

  • User can receive global Creator and Administrator roles
    • Creators can create new collections, receive Administrator permissions to created collections
    • Global Administrators have access to all collections and streams, and can perform any actions on them
  • User can receive Viewer, Creator and Administrator roles on collections
    • Viewers receive Viewer role on all streams
    • Creators can create new streams, and edit or delete existing streams
    • Administrators can delete the collection
  • User can receive Viewer role on streams
    • Viewers (Stream or Collection) can view the private stream, private or unlisted stream will appear on homepage
  • Collections can be designated Public or Unlisted
    • Only work is to switch from a boolean to an enum (for futureproofing)
    • Existing functionality:
      • Public collections show up on the homepage, and the latest stream can be viewed directly at /{url} (Existing)
      • Unlisted collections show up only for those with a role, and require direct link to the stream
  • Streams can be designated, Public, Unlisted or Private
    • Public streams will appear on the homepage
    • Unlisted streams (currently Private) will appear on the homepage only for users with Viewer, can be viewed by anyone with direct link
    • Private streams will appear on the homepage only for users with Viewer, require sign in and role to be viewed

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.