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

Basic Capabilities #4

Open
48 of 66 tasks
jezzsantos opened this issue Sep 8, 2023 · 1 comment
Open
48 of 66 tasks

Basic Capabilities #4

jezzsantos opened this issue Sep 8, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@jezzsantos
Copy link
Owner

jezzsantos commented Sep 8, 2023

See the Current Use Cases for a final list of all use cases in the product.

The list below is just the order in which we are planning the remaining work to be done, including remaining technology adapters.

Features:

(in this order)

  • REST API Design (w/ Minimal API + MediatR versus Controllers)
  • Testing patterns (Unit + Integration + EndToEnd)
  • HTTP request validation (w/ FluentValidation)
  • Modular plugins (API projects)
  • Async pattern top to bottom
  • JSON response formats (i.e. XML and JSON and possibility of others)
  • Default HTTP status codes (PUT/PATCH/POST/GET)
  • Search API support
  • Typed HttpClient (i.e. JsonClient that understands our request and response types)
  • Exception handling and Error handling (Result<TError> and Optional<T>) patterns
  • Roslyn analyzers for coding standards in Core assemblies
  • Request correlation. Naked incoming requests, versus chained API calls (ICallContext)
  • ServiceClients
  • Configuration
  • Basic DDD aggregates and ValueObjects
  • CQRS pattern
  • Persistence interfaces (IDataStore, IQueueStore, IEventStore, IBlobStore)
  • Persistence implementations (basic ones: InMem and LocalFile)
  • Ancillary messaging mechanisms (usages, audits, etc),
  • HostRecorder: Logging, Auditing, CrashReporting, Usage Metrics (IRecorder), using AI and queues
  • Delivery of emails to gateway from queue
  • CORS
  • AuthN integration (HMAC, JWT Transparent Token)
  • Roles and FeatureLevel authorization
  • Reverse Proxy for WebsiteHost, and Cookie authentication
  • SSO authentication example
  • Feature Flagging (Feature Toggles, Audiences, etc)
  • Multi-tenancy (EndUsers, Organisations, Memberships etc. main flows)
  • .NET 8.0 and improvements in DI
  • Roslyn rules for cross-domain dependencies, and layer dependencies. Code Rules. Guidance and enforcement #10
  • Images and Avatars
  • Remaining API use cases and surface area (e.g. APIKey, Organization APIs)
  • Cleanup: (1) rename all context to caller (2) remaining usage and audit statements, (3) ???
  • SwaggerUI and API explorer
  • Images callback to UserProfile and Organization when deleted in ImagesAPI
  • Billing integration
  • Technology Adapters for persistence implementations:
    • Billing:
      • Chargebee
      • Chargify
    • Database Azure:
      • SQLServer
      • Azure Table Storage
    • Database AWS:
      • RDS-Postgres
      • DynamoDb
    • Usages:
      • UserPilot
      • MixPanel
    • Email:
      • MailGun
      • SendGrid
    • FeatureFlags:
      • Flagsmith
      • Unleash or LaunchDarkly
    • SSO:
      • Microsoft
      • Google
  • IAC assets. i.e. for deploying queues to AWS or Azure to round out the deployment puzzle.

Comming later:

  • External stubs
  • Tenant Configuration
  • Distributed System Interop - Event-Driven Architecture
  • Cloud Hosting (AWS or Azure or GC)
  • Adapters: Retry Policies, Circuit Breaker
  • Offloading Usage Metrics
  • Offloading Auditing
@jezzsantos jezzsantos changed the title Missing ADRs Missing docs Sep 10, 2023
@jezzsantos jezzsantos added the documentation Improvements or additions to documentation label Sep 10, 2023
@jezzsantos jezzsantos pinned this issue Sep 10, 2023
@jezzsantos jezzsantos changed the title Missing docs Feature List Oct 2, 2023
@jezzsantos jezzsantos added enhancement New feature or request and removed documentation Improvements or additions to documentation labels Oct 2, 2023
jezzsantos added a commit that referenced this issue Oct 7, 2023
jezzsantos added a commit that referenced this issue Oct 7, 2023
jezzsantos added a commit that referenced this issue Oct 19, 2023
jezzsantos added a commit that referenced this issue Feb 18, 2024
jezzsantos added a commit that referenced this issue Feb 18, 2024
jezzsantos added a commit that referenced this issue Feb 18, 2024
jezzsantos added a commit that referenced this issue Feb 19, 2024
jezzsantos added a commit that referenced this issue Feb 19, 2024
jezzsantos added a commit that referenced this issue Feb 19, 2024
jezzsantos added a commit that referenced this issue Feb 19, 2024
@jezzsantos jezzsantos changed the title Feature List Basic Capabilities Feb 20, 2024
jezzsantos added a commit that referenced this issue Mar 10, 2024
jezzsantos added a commit that referenced this issue Mar 10, 2024
jezzsantos added a commit that referenced this issue Mar 12, 2024
jezzsantos added a commit that referenced this issue Mar 12, 2024
jezzsantos added a commit that referenced this issue Mar 12, 2024
jezzsantos added a commit that referenced this issue May 15, 2024
jezzsantos added a commit that referenced this issue Jun 5, 2024
jezzsantos added a commit that referenced this issue Jun 8, 2024
jezzsantos added a commit that referenced this issue Jul 14, 2024
jezzsantos added a commit that referenced this issue Jul 14, 2024
jezzsantos added a commit that referenced this issue Jul 15, 2024
jezzsantos added a commit that referenced this issue Jul 15, 2024
jezzsantos added a commit that referenced this issue Jul 15, 2024
jezzsantos added a commit that referenced this issue Jul 15, 2024
jezzsantos added a commit that referenced this issue Jul 15, 2024
jezzsantos added a commit that referenced this issue Jul 20, 2024
jezzsantos added a commit that referenced this issue Jul 28, 2024
jezzsantos added a commit that referenced this issue Aug 3, 2024
jezzsantos added a commit that referenced this issue Aug 3, 2024
jezzsantos added a commit that referenced this issue Aug 3, 2024
jezzsantos added a commit that referenced this issue Aug 4, 2024
jezzsantos added a commit that referenced this issue Aug 4, 2024
jezzsantos added a commit that referenced this issue Aug 4, 2024
jezzsantos added a commit that referenced this issue Aug 4, 2024
jezzsantos added a commit that referenced this issue Aug 4, 2024
jezzsantos added a commit that referenced this issue Aug 5, 2024
jezzsantos added a commit that referenced this issue Sep 18, 2024
jezzsantos added a commit that referenced this issue Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant