Code Monkey home page Code Monkey logo

rapidfield / solid-instruments Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 5.46 MB

Solid Instruments is a single-sourced, loosely-coupled collection of .NET libraries that help you rapidly fill feature gaps, overcome common and uncommon design challenges, and deliver stable, secure, high-performance software.

Home Page: https://www.solidinstruments.com

License: MIT License

PowerShell 1.47% C# 98.29% HTML 0.13% CSS 0.11% JavaScript 0.01%
collections mediator cryptography data-access event inversion-of-control mathematics messaging factory serialization

solid-instruments's People

Contributors

adamjstone avatar dependabot-preview[bot] avatar mergify[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

lulzzz

solid-instruments's Issues

Hashing algorithms should not be static.

Feature Request

This issue represents a request for new Solid Instruments functionality.

Overview

RapidField.SolidInstruments.Core.Extensions.ByteCollectionExtensions utilizes a static HashAlgorithm. Hashing operations should initialize new HashAlgorithm instances.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. All HashAlgoritm members in the software should be instance members or local variables.

Release v1.0.26-preview1

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Issue a production release for v1.0.26-preview.

Statement of work

The following list describes the work to be done.

  • Update documentation and release notes to reflect changes.
  • Update appveyor.yml with new version number.
  • Submit a pull request against master.
  • Close and cleanup branches.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26-preview1, which is the pull request target for
  • develop

Add release history to the root README.md.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

The README.md file at the project root does not display release information.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Add a list of releases to the README.md file.

Revision control strategy

Individual contributors should follow these branching conventions when working on this issue.

  • master is the pull request target for
  • release/v1.0.23-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • feature/0032_release-history-readme, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/0032_release-history-readme

Add inversion of control support for StructureMap.

Feature Request

This issue represents a request for new Solid Instruments functionality.

Overview

There is currently no native support for StructureMap using the inversion of control abstractions. A new library should be created which implements the inversion of control abstractions for StructureMap.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. A new library named RapidField.SolidInstruments.InversionOfControl.StructureMap should be exposed which draws upon the RapidField.SolidInstruments.InversionOfControl abstractions.
  2. The library should implement StructureMap analogs to the types exposed by RapidField.SolidInstruments.InversionOfControl.StructureMap.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.1.0-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • feature/00012-structuremap-support, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00012-structuremap-support

Deprecate MD5 in favor of SHA256.

Feature Request

This issue represents a request for new Solid Instruments functionality.

Overview

MD5 is currently used by the byte collection extensions. While it is generally safe for checksum operations and it was included and advertised for such purposes, it should be replaced in favor of SHA256 to protect non-advanced users who may use it for cryptographic purposes.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. MD5 should be replaced with SHA256.
  2. 256-bit digests should be folded to 128-bit where necessary.

Add implicit cast support from EnhancedReadabilityGuid to Guid.

Feature Request

This issue represents a request for new Solid Instruments functionality.

Overview

Using EnhancedReadabilityGuid often requires casting to and from System.Guid. An implicit cast operator should be added to improve consuming code cleanliness.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. An implicit cast operator from EnhancedReadabilityGuid to Guid should be added.

Refurbish and extend example projects.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Replace the existing example projects with new projects that make use of recently-introduced abstractions and paradigms.

Statement of work

The following list describes the work to be done.

  • Create new domain model libraries.
  • Create new service applications.
  • Create new web applications.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.1.0-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00371-example-projects, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00371-example-projects

Complete the Governance Model document.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

The Governance Model document is currently a work-in-progress. It should be completed.

Statement of work

The following list describes the work to be done.

  1. Complete the Governance Model document.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.1-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00290-governance-doc, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00290-governance-doc

Extend unit testing for ConcurrencyControlToken.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Test coverage for the RapidField.SolidInstruments.Core.Concurrency.ConcurrencyControlToken class is low. Additional unit tests should be created to improve test coverage.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Author additional unit tests that improve coverage for the aforementioned class.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.1-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00200-concurrencycontroltoken-tests, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00200-concurrencycontroltoken-tests

Use custom script to publish documentation website.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

The Solid Instruments documentation website is currently published using AppVeyor's native tooling. To avoid vendor lock-in, the documentation website publish process should not rely on a specific CI/CD service.

Statement of work

The following list describes the work to be done.

  1. Develop source-controlled CI/CD scripting that publishes the compiled documentation website without relying on AppVeyor.
  2. Modify the AppVeyor configuration to remove the existing FTP publish process.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00293-publish-docweb, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00293-publish-docweb

Extend unit testing for ChannelCollection.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Test coverage for the RapidField.SolidInstruments.SignalProcessing.ChannelCollection class is low. Additional unit tests should be created to improve test coverage.

Statement of work

The following list describes the work to be done.

  1. Author additional unit tests that improve coverage for the aforementioned class.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.1-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00203-channelcollection-tests, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00203-channelcollection-tests

Complete the Architectural Guide document.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

The Architectural Guide document is currently a work-in-progress. It should be completed.

Statement of work

The following list describes the work to be done.

  1. Complete the Architectural Guide document.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00291-architecture-doc, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00291-architecture-doc

Release Solid Instruments 1.0.26

Software Release Request

This issue represents a request for the production release of a new version of Solid Instruments.

Overview

Issue a production software release for v1.0.26.

Statement of work

The following list describes the work to be done.

  • Update source documentation to reflect software changes.
  • Update documentation website to reflect software changes.
  • Add release notes with details that reflect software changes.
  • Update appveyor.yml to reflect new version number.
  • Submit a pull request against the master branch.
  • Close and destroy the completed working branches.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26, which is the pull request target for
  • develop

Fix 'Complex Method' issue in src\RapidField.SolidInstruments.Core\Extensions\StringExtensions.cs

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

CodeFactor found an issue: Complex Method

It's currently on:
src\RapidField.SolidInstruments.Core\Extensions\StringExtensions.cs:1242-1383
Commit 93a0cd4

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Resolve the complex method.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.25-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • feature/0053_complex-string-extensions, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/0053_complex-string-extensions

Add messaging support for RabbitMQ.

Feature Request

This issue represents a request for new Solid Instruments functionality.

Overview

There is currently no native support for RabbitMQ using the messaging abstractions. A new library should be created which implements the messaging abstractions for RabbitMQ.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. A new library named RapidField.SolidInstruments.Messaging.RabbitMq should be exposed which draws upon the RapidField.SolidInstruments.Messaging abstractions.
  2. The library should implement RabbitMQ analogs to the types exposed by RapidField.SolidInstruments.Messaging.AzureServiceBus.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • develop, which is the pull request target for
  • release/v1.0.25-preview1, which is the pull request target for
  • feature/0007-rabbitmq-support, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/0007-rabbitmq-support

Extend unit testing for TimeOfDay.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Test coverage for the RapidField.SolidInstruments.Core.TimeOfDay class is low. Additional unit tests should be created to improve test coverage.

Statement of work

The following list describes the work to be done.

  1. Author additional unit tests that improve coverage for the aforementioned class.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.1-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00202-timeofday-tests, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00202-timeofday-tests

Refactor bit field copy operations for performance.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

The performance of several bit field copy operations can be improved by utilizing the Span<T> and Memory<T> primitives in place of Array.Copy and Buffer.BlockCopy. Those operations should be refactored to use the new primitives where appropriate.

Statement of work

The following list describes the work to be done.

  1. Find and refactor uses of Array.Copy and Buffer.BlockCopy, where appropriate, to use the new primitives.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00289-refactor-copies, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00289-refactor-copies

Fix 'Complex Method' issue in src\RapidField.SolidInstruments.Cryptography\Extensions\RandomNumberGeneratorExtensions.cs

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

CodeFactor found an issue: Complex Method

It's currently on:
src\RapidField.SolidInstruments.Cryptography\Extensions\RandomNumberGeneratorExtensions.cs:1666-1724
Commit 93a0cd4

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Resolve the complex method.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.25-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • feature/0055_complex-rng-extensions, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/0055_complex-rng-extensions

Fix NuGet package tags.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Improper delimiting is causing the NuGet package tags to appear incorrectly at nuget.org.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Apply proper delimiting to the NuGet tags.

Revision control strategy

Individual contributors should follow these branching conventions when working on this issue.

  • master is the pull request target for
  • release/v1.0.23-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • feature/0033_nuget-package-tags, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/0033_nuget-package-tags

Update issue templates.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

GitHub does not recognize the existing issue templates. The existing issue templates should be updated so that they are recognizable and usable by GitHub users.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Modify or recreate the existing GitHub issue templates so that they are usable by the GitHub software and, consequently, by GitHub users.

Refactor awaited APIs.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

Several Solid Instruments APIs use the await keyword unnecessarily. Those APIs should be refactored so avoid use of await.

Statement of work

The following list describes the work to be done.

  1. Find and refactor the offending APIs.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00288-refactor-awaits, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00288-refactor-awaits

Complete the Development Guidelines document.

Maintenance Request

This issue represents a request for documentation, testing, refactoring or other non-functional changes.

Overview

The Development Guidelines document is currently a work-in-progress. It should be completed.

Statement of work

The following list describes the work to be done.

  1. Complete the Development Guidelines document.

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.1-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • maintenance/00292-guidelines-doc, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00292-guidelines-doc

Add registration aggregate for Entity Framework dependencies.

Feature Request

This issue represents a suggestion for new Solid Instruments functionality.

Overview

Extend the Autofac and native .NET dependency injection abstractions to expose single-line registration options for Entity Framework support dependencies.

Statement of work

The following list describes the work to be done and defines acceptance criteria for the feature.

  1. Create a new project named RapidField.SolidInstruments.DataAccess.Autofac.Ef.
  2. Create a new project named RapidField.SolidInstruments.DataAccess.DotNetNative.Ef.
  3. Create an aggregate dependency registration method for Entity Framework support via Autofac.
  4. Create an aggregate dependency registration method for Entity Framework support via native .NET IoC.
  5. Extend the documentation to cover the new components.

Additional information

Revision control plan

Solid Instruments uses the RapidField Revision Control Workflow. Individual contributors should follow the branching plan below when working on this issue.

  • master is the pull request target for
  • release/v1.0.26-preview1, which is the pull request target for
  • develop, which is the pull request target for
  • feature/000304-ef-registration, which is the pull request target for contributing user branches, which should be named using the pattern
  • user/{username}/00304-ef-registration

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.