Odonno/FeatureManagement.UI

Roadmap

Opened this issue · 0 comments

Here is the roadmap with a list of all possible features to add in the next releases:

  • Native Feature value types
    • boolean
    • integer
    • decimal
    • string
    • List of choices
  • Extended feature value types
    • Color
      • Color Picker on the UI
      • With validation
      • Custom display
    • Date
      • Timestamp on the UI
      • With validation
      • Custom display
    • Json
      • Textarea on the UI
      • With validation
      • Auto format
    • Prefix/suffix (only for UI)
  • Feature definitions
    • Static configuration (current) = ResetOnStartup
    • Improved Configuration Builder (better readability, maintainability & type checking)
    • Load from appsettings.json
    • Dynamic configuration (with CreateFeature, UpdateFeature and RemoveFeature)
  • Storage Providers (via EF Core)
    • In memory
    • SQL Server
    • PostgreSQL
    • MySQL
    • SQLite
    • Custom Storage Provider?
  • Feature types
    • Global feature configuration (default as ServerFeature) manual changes allowed
    • Client feature configuration (default as ClientFeature) manual changes allowed
    • Time window feature configuration (after date, before date, between dates) requires HostedService
    • Group feature configuration
    • Client rollout feature configuration (% of clients - with Slider UI) requires HostedService
    • Group rollout feature configuration (% of groups - with Slider UI) requires HostedService
    • Custom feature configuration?
  • User Interface
    • Display list of features (with the best component for the job)
    • Add details on each feature (icon for feature type, tags : client vs. server / rollout / group / time window)
    • Button to display/hide disabled features
    • Search features
    • Group features (display features on categories)
    • Allow HTML customization
    • Allow CSS customization
    • Pass down props from url (ex: authentication scheme & value)
  • Authentication
    • Allow/Disallow read right
    • Allow/Disallow write right
    • readonly property to disable UI components
    • Authentication schemes like Query params or Headers (API usage + UI selection)
  • Realtime updates
    • Feature updated event handlers (both server and client features)
    • API (websocket) realtime events
    • Automatically update the UI using realtime events
  • Documentation
    • Basic documentation (goals, code documentation/usage, images)
    • Split documentation by feature/domain (like here)
  • Improvements ideas
    • Caching
    • GraphQL API to replace the REST API (real-time subscription for free)