Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin System #45

Open
tderflinger opened this issue Jul 31, 2023 · 2 comments
Open

Plugin System #45

tderflinger opened this issue Jul 31, 2023 · 2 comments
Labels
large This will be a large addition low priority upcoming feature This feature has been accepted and will be worked on

Comments

@tderflinger
Copy link

Hi!
First of all, thanks for your great effort in creating Scholarsome. I have some ideas for adapting Scholarsome specifically to language vocabulary learning.
Since I think forking and then adapting Scholarsome to my ideas would be bad for everybody, I want to propose a better solution:
A plugin system.
Think of a plugin system like the extension system in VS Code or many other products. Independent developers extend the core platform with their own solution on top of the base product.
I think this could also work for Scholarsome, only here we would need to deal with a plugin system for both the API and then the frontend.
A plugin system would also prevent Scholarsome from becoming too bloated in the future. You only need to implement the features that are really needed in the core product, everything else could become a plugin.
One might even imagine a kind of marketplace some day.
What do you think about the plugin/extension idea?
Regards,
-Thomas

@hwgilbert16
Copy link
Owner

Great idea. You bring up a good point regarding bloat, as I can foresee that becoming an issue in the future once core features are in a more mature state and lesser used once begin to be added.

only here we would need to deal with a plugin system for both the API and then the frontend.

This is definitely something for the long term, a significant portion of our base code would have to be rewritten if we want to fully accommodate this - having to expose internal frontend services. I'd imagine that something similar to Docusaurus swizzling would be what is implemented due to the complexity of interactions between our apps.

The API would likely be the first to receive plugin functionality, since our architecture for it inherently makes it more moddable.

I have some ideas for adapting Scholarsome specifically to language vocabulary learning.

If you have any features for language learning, certainly share them. Not all specific features need to be relegated to being for future plugins, we still strive for our core features to be better than other options.

For context, since I know many language learners rely on it - an SRS is planned to be added (#11).

I'd say that we want to solidify that mentioned core feature set before moving onto more adventurous ones like this, to be clear. I will, however, add this as a future feature to make sure we stay aware of it.

@hwgilbert16 hwgilbert16 added upcoming feature This feature has been accepted and will be worked on low priority large This will be a large addition labels Aug 1, 2023
@tderflinger
Copy link
Author

Thanks for your reply. Yes, I see how the plugin system might require a certain bit of refactoring. So I will share my language learning ideas in separate issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
large This will be a large addition low priority upcoming feature This feature has been accepted and will be worked on
Projects
Development

No branches or pull requests

2 participants