Elect - .NET Core Utility Library Collection

๐Ÿš€ Overview

Elect is a powerful ecosystem of mini-libraries that significantly speeds up .NET Core development by providing:

  • ๐Ÿ”ง Essential Utilities - Core helper methods and extensions for common tasks
  • โšก Rapid Development - Pre-built solutions to reduce project setup time
  • ๐Ÿ”„ Always Updated - Continuously maintained with the latest .NET versions
  • ๐ŸŒ Cross-Platform - Works seamlessly on Windows, Mac, and Linux
  • ๐Ÿ“ฆ Modular Design - Use only what you need with independent packages

๐Ÿ“ฆ Installation

All Elect modules are available on NuGet. Install individual packages as needed:

# Core utilities (foundation)
dotnet add package Elect.Core

# Dependency injection
dotnet add package Elect.DI

# Entity Framework utilities
dotnet add package Elect.Data.EF

# File and image processing
dotnet add package Elect.Data.IO

# Background job processing
dotnet add package Elect.Job.Hangfire

# Location services
dotnet add package Elect.Location.Google

# Web utilities
dotnet add package Elect.Web
dotnet add package Elect.Web.DataTable
dotnet add package Elect.Web.Middlewares
dotnet add package Elect.Web.HttpDetection

๐Ÿ”ง Quick Start

// Example: Using Elect.Core utilities
using Elect.Core.StringUtils;
using Elect.Core.ObjUtils;

// Generate unique IDs
string uniqueId = IdHelper.NewId();

// Object utilities
var config = new AppConfig();
config.SetValue("ConnectionString", "Data Source=...");

// Example: Using Elect.DI for service registration
[TransientDependency]
public class MyService : IMyService
{
    // Your implementation
}

// Services are automatically registered by assembly scanning

๐Ÿ“š Library Modules

Elect provides a comprehensive set of specialized modules, each designed to handle specific aspects of .NET Core development:

๐Ÿ—๏ธ Core Foundation

Package Description NuGet
Elect.Core Essential utilities and foundation of the ecosystem NuGet

๐Ÿ”ง Dependency Injection

Package Description NuGet
Elect.DI Attribute-based service registration with assembly scanning NuGet

๐Ÿ—ƒ๏ธ Data Access

Package Description NuGet
Elect.Data.EF Entity Framework with Unit of Work & Repository patterns NuGet
Elect.Data.IO File system utilities, image processing (resize, compress) NuGet

๐ŸŒ Web Development

Package Description NuGet
Elect.Web ASP.NET Core utilities with beautiful paged collections NuGet
Elect.Web.Middlewares Performance & optimization middlewares NuGet
Elect.Web.DataTable Server-side jQuery DataTable with advanced features NuGet
Elect.Web.HttpDetection Device & location detection via HTTP requests NuGet

โš™๏ธ Background Processing

Package Description NuGet
Elect.Job.Hangfire Enhanced Hangfire with easier setup & security NuGet

๐Ÿ“ Location Services

Package Description NuGet
Elect.Location.Models Common location data models NuGet
Elect.Location.Coordinate Coordinate calculations and clustering NuGet
Elect.Location.Google Google Maps API integration NuGet

๐Ÿ› ๏ธ Requirements

  • .NET 9.0 or later
  • Visual Studio 2022 or JetBrains Rider (recommended)
  • Cross-platform: Windows, macOS, Linux

๐Ÿ“– Documentation & Samples

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • How to submit issues and feature requests
  • Development setup and coding standards
  • Pull request process

๐Ÿ“Š Project Stats

  • ๐Ÿงช 1,400+ Unit Tests with 90%+ coverage
  • ๐Ÿ“ฆ 13 NuGet Packages with consistent versioning
  • ๐Ÿ”„ Continuous Integration with automated testing
  • ๐Ÿ“ˆ Production Ready - Used in enterprise applications

๐Ÿ“„ License

This project is licensed under the MIT License - see the license file for details.

๐Ÿ™ Acknowledgments


โญ If you find this project useful, please give it a star! โญ

GitHub - topnguyen/Elect: The collection of utilities, best practice and fluent method for .NET Core
The collection of utilities, best practice and fluent method for .NET Core - topnguyen/Elect