Powerful dependency injection extensions for .NET Core with attribute-based service registration, assembly scanning, automatic interface binding, and lifetime management. Simplifies DI configuration while maintaining full control over service registration.


Keywords
aspnetcore, attribute, container, dependency, di, elect, injection, ioc, registration, scanning, topnguyen, efcore, utilities
License
MIT
Install
Install-Package Elect.DI -Version 2.1.0

Documentation

Logo

Elect - .NET Core Utility Library Collection

NuGet Downloads License: MIT .NET

Created by Top Nguyen - A comprehensive collection of .NET Core utilities designed to accelerate development and focus on business logic.

๐Ÿš€ 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! โญ