8000 GitHub - farseer-go/fs at v0.4.1
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ fs Public

farseer-go all components of the base module, module launcher, framework initialization program(所有组件的基础模块,模块启动器,框架初始化程序)

License

Notifications You must be signed in to change notification settings

farseer-go/fs

Repository files navigation

Overview

Introduction

A modular and complete infrastructure framework based on Golang,create modern web applications and APIs

Use the most popular components available today and provide them with modular technology.

The framework perfectly supports DDD domain-driven tactical design, such as warehousing repository, application-layer transactions, domain events, application-layer dynamic WebAPI.

It has a mature version of .net core that has been in use for over 10 years and is great

Don't worry about the framework making you depend on too many packages, farseer-go's components are all separate packages and unused packages are not downloaded into your application

Each component is a separate package, so the version number is also released separately

Features

  • Unified configuration: all configurations are consolidated into . /farseer.yaml

  • Elegant: all modules follow the principle of developer experience first.

  • Modularity: provides a complete modular system that allows you to develop reusable application modules.

  • Domain-driven: helps you implement a hierarchical architecture based on DDD and build a maintainable code base.

  • link tracking (coming in the next version): if you use the framework Orm, Redis, Http, Grpc, ES, MQ, EventBus, Task, FSS, will implicitly implement link tracking for you and provide API request logs, slow queries.

Combined with FOPS project (automatic build, link tracing console, K8S cluster log collection) support code non-intrusive full link real-time monitoring.

Components

Package Name Description
fs Basic Core Package
collections Data Collection
webapi web api
async Async Programming
mapper Object Conversion
cacheMemory Local Cache
redis client
data DataBase ORM
elasticSearch client
eventBus eventBus
queue Local Queue
tasks Local tasks
fss client
utils utils
linkTrack linkTrack (Coming soon)
rabbit client (Coming soon)
redisStream redis mq (Coming soon)

Quick Start

main.go

package main
import "github.com/farseer-go/fs"

func main() {
	fs.Initialize[StartupModule]("your project Name")
}

In the first line of the main function, execute fs.Initialize to start initializing the framework

After running the console prints the loading message.

2022-12-01 17:07:24 Application Name: your project Name
2022-12-01 17:07:24 Host Name: MacBook-Pro.local
2022-12-01 17:07:24 System time: 2022-12-01 17:07:24
2022-12-01 17:07:24   ProcessID: 6123
2022-12-01 17:07:24   ApplicationID: 193337022963818496
2022-12-01 17:07:24   ApplicationIP: 192.168.1.4
2022-12-01 17:07:24 ---------------------------------------
2022-12-01 17:07:24 Loading Module...
2022-12-01 17:07:24 Loading Module:webapi.Module
2022-12-01 17:07:24 Loading Module:domain.Module
2022-12-01 17:07:24 Loading Module:application.Module
2022-12-01 17:07:24 Loading Module:interfaces.Module
2022-12-01 17:07:24 Loading Module:data.Module
2022-12-01 17:07:24 Loading Module:eventBus.Module
2022-12-01 17:07:24 Loading Module:queue.Module
2022-12-01 17:07:24 Loading Module:infrastructure.Module
2022-12-01 17:07:24 Loading Module:main.StartupModule
2022-12-01 17:07:24 Loaded, 10 modules in total
2022-12-01 17:07:24 ---------------------------------------
2022-12-01 17:07:24 Initialization completed, total time: 1 ms 
2022-12-01 17:07:24 ---------------------------------------
2022-12-01 17:07:24 [Info] Web service is started:http://localhost:8888/

Stargazers

Stargazers repo roster for @farseer-go/fs

Forks

Forks repo roster for @farseer-go/fs

About

farseer-go all components of the base module, module launcher, framework initialization program(所有组件的基础模块,模块启动器,框架初始化程序)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages

0