Skip to content

HermanSchoenfeld/Sphere10.Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sphere10 Framework logo

πŸš€ Sphere10 Framework: Comprehensive .NET Application Framework

Copyright Β© Herman Schoenfeld, Sphere 10 Software 2018 - Present

A mature, production-ready .NET framework providing a complete foundation for building full-stack applications across desktop, mobile, and web platforms. Originally designed for blockchain systems, Sphere10 Framework has evolved into a comprehensive general-purpose framework offering robust abstractions, advanced data structures, cryptographic primitives, and utilities for high-performance .NET development.

✨ What Sphere10 Framework Provides

Core Foundation

  • Unified Architecture: Consistent patterns for application lifecycle, dependency injection, configuration, and component lifecycle across all platforms
  • Enterprise Data Access: Abstracted data layer with support for multiple database engines (SQL Server, SQLite, Firebird, NHibernate) and advanced query building
  • Advanced Cryptography: Comprehensive cryptographic implementations including post-quantum algorithms, digital signatures, and multiple hashing algorithms
  • Multi-Protocol Networking: TCP, UDP, WebSockets, and RPC frameworks for building distributed systems
  • Rich Serialization: Flexible binary serialization, JSON support, and streaming implementations

Application Development

  • Desktop UI Framework: Full-featured Windows Forms component library with data binding, validation, and plugin support
  • Web UI: Blazor-based component library with wizards, modals, grids, and responsive layouts for modern web applications
  • Cross-Platform: Run applications on Windows, macOS, iOS, Android, or .NET Core/5+
  • Plugin Architecture: Dynamic plugin loading and lifecycle management for extensible applications

Specialized Features

  • Memory Efficiency: Advanced collections, paged data structures, and streaming for handling large datasets
  • Graphics & Drawing: Cross-platform drawing utilities and image manipulation
  • Performance: Caching, connection pooling, and optimized algorithms
  • Testing: Comprehensive testing framework and utilities for unit and integration testing

πŸ” Tools.* Namespace β€” Global Utility Discovery

The Tools namespace is a defining architectural feature providing a global, IntelliSense-discoverable collection of static utility methods across the entire framework. Simply type Tools. to explore all available operations:

Core Utilities

  • Tools.Crypto β€” Hashing, signatures, key derivation
  • Tools.Text β€” String manipulation, validation, generation
  • Tools.Collection β€” Collection operations, filtering, transformation
  • Tools.FileSystem β€” File I/O, directory management, temp files
  • Tools.Reflection β€” Type inspection, member discovery, attributes
  • Tools.Json / Tools.Xml β€” Data serialization
  • Tools.Memory β€” Buffer operations, memory allocation
  • Tools.Maths β€” Mathematical utilities and RNG
  • And 30+ more...

Platform-Specific Tools

  • Tools.WinTool (Windows) β€” Registry, services, event logging, privileges
  • Tools.Web.Html / Tools.Web.AspNetCore (Web) β€” HTML utilities, ASP.NET Core integration
  • Tools.iOSTool (iOS) β€” iOS-specific operations
  • Tools.Data / Tools.Sqlite / Tools.MSSQL (Database) β€” Database provider utilities

Design Pattern

using Tools;

// Discovery-first pattern β€” IntelliSense shows all available tools
byte[] hash = Tools.Crypto.SHA256(data);
string sanitized = Tools.Text.RemoveWhitespace(input);
var connection = Tools.Sqlite.Create(connectionString);
bool running = Tools.WinTool.IsServiceRunning("MyService");

For the complete Tools reference, see docs/Tools-Reference.md.

πŸ“‚ Project Structure

The Sphere10 Framework consists of 45+ projects organized by category within src/, tests/, and utils/:

βš™οΈ Core Framework & Utilities

Project Purpose
Sphere10.Framework General-purpose core library with utilities for caching, collections, cryptography, serialization, streaming, and more
Sphere10.Framework.Application Application lifecycle, dependency injection, command-line interface, and presentation framework
Sphere10.Framework.Communications Multi-protocol networking layer: TCP, UDP, WebSockets, RPC, and pipes
Sphere10.Framework.Generators C# source generators for compile-time code generation
HashLib4CSharp Hashing library with support for MD5, SHA, BLAKE2, CRC, checksums, and more

πŸ”’ Cryptography & Security

Project Purpose
Sphere10.Framework.CryptoEx Extended cryptography: Bitcoin (SECP256k1), elliptic curves, hash functions, post-quantum algorithms
Sphere10.Framework.Consensus Blockchain consensus mechanisms and validation rules framework

πŸ’Ύ Data Access & Persistence

Project Purpose
Sphere10.Framework.Data Data access abstraction layer with ADO.NET enhancements, SQL query building, CSV support
Sphere10.Framework.Data.Sqlite SQLite implementation for embedded databases
Sphere10.Framework.Data.Firebird Firebird database implementation
Sphere10.Framework.Data.MSSQL Microsoft SQL Server implementation
Sphere10.Framework.Data.NHibernate NHibernate ORM integration

πŸ–₯️ Desktop & Windows

Project Purpose
Sphere10.Framework.Windows Windows platform integration: registry, services, event logging
Sphere10.Framework.Windows.Forms Windows Forms UI framework and components
Sphere10.Framework.Windows.Forms.Sqlite Windows Forms with SQLite data binding
Sphere10.Framework.Windows.Forms.Firebird Windows Forms with Firebird data binding
Sphere10.Framework.Windows.Forms.MSSQL Windows Forms with SQL Server data binding
Sphere10.Framework.Windows.LevelDB LevelDB integration for fast key-value storage

🌐 Web & Cross-Platform

Project Purpose
Sphere10.Framework.Web.AspNetCore ASP.NET Core integration: middleware, filters, routing, forms
Sphere10.Framework.Drawing Cross-platform graphics and drawing utilities
Sphere10.Framework.NET .NET Framework-specific utilities and type introspection
Sphere10.Framework.NETCore .NET Core and modern .NET utilities
Sphere10.Framework.iOS Xamarin.iOS integration for native iOS apps
Sphere10.Framework.Android Xamarin.Android integration for native Android apps
Sphere10.Framework.macOS Xamarin.macOS integration for native macOS apps

πŸ§ͺ Test Projects

The tests/ directory contains 2000+ comprehensive unit and integration tests covering all framework subsystems:

Test Project Purpose
HashLib4CSharp.Tests Tests for hashing algorithms
Sphere10.Framework.Communications.Tests Networking and RPC tests
Sphere10.Framework.CryptoEx.Tests Cryptography implementation tests
Sphere10.Framework.Data.Tests Database access layer tests
Sphere10.Framework.NET.Tests .NET framework utility tests
Sphere10.Framework.NETCore.Tests .NET Core utility tests
Sphere10.Framework.Tests Core framework tests
Sphere10.Framework.Windows.LevelDB.Tests LevelDB integration tests
Sphere10.Framework.Windows.Tests Windows platform tests

🎨 Presentation & UI Layer

Desktop (Windows Forms)

Project Purpose
Sphere10.Framework.Windows.Forms Comprehensive Windows Forms UI framework with data binding, validation, and component library
Sphere10.Framework.Windows.Forms.Sqlite Windows Forms with SQLite data binding and persistence
Sphere10.Framework.Windows.Forms.MSSQL Windows Forms with SQL Server data binding and persistence
Sphere10.Framework.Windows.Forms.Firebird Windows Forms with Firebird data binding and persistence

Web & Cross-Platform UI

Project Purpose
Sphere10.Framework.Web.AspNetCore ASP.NET Core integration with middleware, filters, routing, and form components
Sphere10.Framework.Drawing Cross-platform graphics and drawing utilities for all platforms

πŸ“š Documentation & Learning

πŸ“ Architecture

  1. Sphere10 Framework: Complete Architecture & Overview
  2. Framework Domains

⛓️ Blockchain Technology

  1. Blockchain: Dynamic Merkle Trees
  2. Blockchain: Real-Time Targeted Difficulty Adjustment Algorithm
  3. Post-Quantum Cryptography: Abstract Merkle Signatures (AMS)
  4. Post-Quantum Cryptography: Winternitz Abstracted Merkle Signatures (WAMS)
  5. Post-Quantum Cryptography: Faster and Smaller Winternitz Signatures

πŸ“‘ Guidelines

  1. What is a 3-tier Architecture?
  2. Code-Styling Guidelines

πŸ”— Quick Navigation & Resources

About

A comprehensive framework for .NET full-stack apps.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8