Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete re-introduction of Telestion Client #194

Merged
merged 257 commits into from
Jan 26, 2021
Merged

Complete re-introduction of Telestion Client #194

merged 257 commits into from
Jan 26, 2021

Conversation

fussel178
Copy link
Member

@fussel178 fussel178 commented Jan 2, 2021

Abstract

This is a complete re-introduction of the Telestion Client.
The Telestion Frontend is now structured in different packages installable via your favorite package manager.
Every package fulfills an important part in the Telestion Client ecosystem:

package role
@wuespace/vertx-event-bus The connection interface which transports event bus messages between the frontend and the backend
@wuespace/telestion-client-types Essential TypeScript types of the Telestion Client
@wuespace/telestion-client-prop-types prop-types of types important for the Telestion Client React components
@wuespace/telestion-client-core The core part of the application. It offers an interface for the mandatory parts of the Telestion Client like managing the authencation and eventbus connection with the backend. It defines the structure of the application.
@wuespace/telestion-client-common The "extension" of the core part. If offers an interface for the most common parts of Telestion Client including Adobe React Spectrum Design components and "nice-to-have" React hooks and components.
@wuespace/telestion-client-cli A command-line interface for Telestion Client projects. It can create, manage and deploy Telestion Client via a user friendly CLI.
@wuespace/telestion-client-template A template for a ready-to-start project using Telestion Client.
@wuespace/mock-server A mock server for the event bus connection and authentication.

Changes

  • restructured as monorepo managed with lerna
  • new packager for library components in the different packages with rollup
  • complete refactoring of every written file and file system structure
  • full TypeScript support
  • extensive documentation (coming soon™)
  • tests of all different kinds (unit, integration, end-2-end)
  • Storybook stories for every important component to see its usage in action

(Mostly) Required Steps 😉

  • Implementation
    • vertx-event-bus
    • types
      • Page Functional Component
      • User Config
      • Widget
    • prop-types
    • core
      • components
      • hooks
      • libraries
    • common
      • components
      • widgets
      • hooks
      • libraries?
    • cli
      • init
      • start
      • build
      • generate
      • doc
      • stats
    • mock-server
    • template
  • Tests (Unit, Integration, E2E)
    • vertx-event-bus
    • types
    • prop-types
    • core
      • components
      • hooks
      • (libraries)
    • common
      • components
      • widgets
      • hooks
      • (libraries?)
    • cli
      • init
      • start
      • build
      • generate
      • doc
      • stats
    • mock-server
    • template (build and test generated project)
  • TypeScript Support
    • vertx-event-bus
    • types
    • prop-types
    • core
      • components
      • hooks
      • libraries
    • common
      • components
      • widgets
      • hooks
      • libraries?
    • mock-server
  • Documentation
    • core
    • common
    • cli
    • mock-server
  • Building
    • vertx-event-bus (rollup)
    • types (tsc)
    • prop-types (rollup)
    • core (rollup)
    • common (rollup)
    • cli (none)
    • mock-server (rollup)
  • ESLint
    • vertx-event-bus
    • types
    • prop-types
    • core
    • common
    • cli
    • mock-server
  • Code Documentation
    • vertx-event-bus
    • types
      • Page Functional Component
      • User Config
      • Widget
    • prop-types
    • core
    • common
    • cli (not required)
    • mock-server
  • Misc
    • GitHub Actions for automatic deployment
    • READMEs
      • vertx-event-bus
      • types
      • prop-types
      • core
      • common
      • cli
      • mock-server
    • package.json
      • vertx-event-bus
      • types
      • prop-types
      • core
      • common
      • cli
      • mock-server

Things to do before merge:

  • Add LICENSE
  • Change actions trigger in .github/workflows/docs.yml to main
  • Change actions trigger in .github/workflows/codeql-analysis.yml to main
  • Change actions trigger in .github/workflows/shiftleft-analysis.yml to main

fixes #155

fussel178 and others added 20 commits December 2, 2020 01:06
- compound components
- app pages with react-router
- custom stateful hooks with zustand:
    - authentication hook
    - eventbus hook
- Fake authentication
- vert.x eventbus fixes:
    - registration and message now possible on closed state
- full TypeScript support

Co-authored-by: pklaschka <contact@pabloklaschka.de>
- some basic context and hooks
- types for widget

Co-authored-by: pklaschka <contact@pabloklaschka.de>
@fussel178 fussel178 added 📚 documentation Improvements or additions to documentation 🔨 enhancement New feature or request 👓 tests Tests for the project labels Jan 2, 2021
@fussel178 fussel178 self-assigned this Jan 2, 2021
@pklaschka pklaschka self-requested a review January 26, 2021 00:28
pklaschka
pklaschka previously approved these changes Jan 26, 2021
@fussel178 fussel178 changed the title WIP: Complete re-introduction of Telestion Client Complete re-introduction of Telestion Client Jan 26, 2021
# Conflicts:
#	.github/workflows/ci.yml
#	.github/workflows/cypress.yml
#	.github/workflows/release.yml
#	package-lock.json
#	package.json
@fussel178 fussel178 merged commit 5e4c025 into main Jan 26, 2021
@fussel178 fussel178 deleted the monorepo branch January 26, 2021 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📚 documentation Improvements or additions to documentation 👓 tests Tests for the project 🔨 enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Caching in Github workflows
2 participants