SciSharp / SciSharp/BotSharp

Some project structure suggestions

Open
#100 7 comments 0 reactions 1 assignee View on GitHub

@Oceania2018 is already working on this.

Since Aug 14, 2023.

enhancement
Dominant language
C#
Stars
3.1k
Forks
651
Avg merge
15h 2m
Merged PRs (30d)
36

Description

This project seems to be overly dependent reflecting the low reusability of the BotSharp.Core library. The key point is that it relies on the EntityFrameworkCore.BootKit package. BotSharp.Core seems to have assumed that the library can only run on the asp.net host and EntityFrameworkCore cannot be executed. persistent migration

some suggested changes

BotSharp.Abstraction => BotSharp Implement the abstract logic and interface of the user agent session
BotSharp.Core split into => BotSharp.Storage BotSharp.Web. Among them, BotSharp.Storage implements EntityFrameworkCore storage logic, generates data migration, and BotSharp.Web provides user agent session and other related interfaces. There is no dependency between these two projects. The user data provider interface is defined in the BotSharp project and then used in the web and then defined by Storage
WebStarter => BotSharp.Example Dependency injection should be used in this project to instantiate the data provider interface of user agent session, where plug-in loading and so on can use IServiceCollection loading parameters to set whether the configuration is enabled or not.

Reflection seems to be overused in this project

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.