ncore

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2025 License: Apache-2.0

README

NCore

A set of reusable components for Go applications.

Features

  • Extensible modular architecture
    • Core domain and business domain module development
    • Plugin system for feature extensions
    • Event-driven module communication
  • Universal proxy system
    • Platform API integration
    • Third-party service adapters
    • Protocol transformation
  • Comprehensive business logic helpers
  • Flexible configuration management
  • Secure authentication (JWT, OAuth)
  • Multiple database support
  • Search engine integrations
  • File storage solutions

Installation

# Install the latest version
go get github.com/ncobase/ncore

# Install a specific version
go get github.com/ncobase/ncore@v1.0.0

Quick Start

# Install the CLI tool
go install github.com/ncobase/ncore/cmd/ncore@latest

# View available commands and options
ncore --help

# Start with example project
ncore init example

Code Generation

Provides a powerful code generation tool to scaffold extensions and applications:

# Create a core extension
ncore create core auth-service

# Create with cmd directory (extension + executable)
ncore create core auth-service --with-cmd

# Create standalone application
ncore create core auth-service --standalone

# Additional options
ncore create business payment --use-mongo --with-test

Structure

├── pkg/               # Public packages that can be imported by other projects
│   ├── concurrency/   # Concurrency management
│   ├── config/        # Configuration
│   ├── consts/        # Constants
│   ├── cookie/        # Cookie handling
│   ├── crypto/        # Encryption utilities
│   ├── data/          # Data access
│   ├── ecode/         # Error codes
│   ├── email/         # Email functionality
│   ├── expression/    # Expression evaluation and parsing
│   ├── helper/        # Helper functions
│   ├── jwt/           # JWT handling
│   ├── logger/        # Logging
│   ├── monitor/       # Monitoring
│   ├── nanoid/        # ID generation
│   ├── oauth/         # OAuth utilities
│   ├── observes/      # Observability
│   ├── paging/        # Pagination
│   ├── queue/         # Queue management
│   ├── resp/          # HTTP responses
│   ├── types/         # Common types
│   ├── slug/          # URL slugs
│   ├── storage/       # Storage utilities
│   ├── uuid/          # UUID utilities
│   ├── validator/     # Validation utilities
│   └── worker/        # Worker pool
├── ext/               # Extension system
│   ├── core/          # Interfaces and types
│   ├── discovery/     # Service discovery
│   ├── event/         # Event
│   ├── manager/       # Extension manager
│   └── plugin/        # Plugin
└── cmd/               # Application entry points
    ├── commands/      # Command-line tools
    └── generator/     # Code generation utilities

Dependencies

  • Go 1.21 or higher

Support

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL