Plugin System Implementation
Answered
Skipjack tuna posted this in #help-forum
Skipjack tunaOP
I have a question on how can i implement plugin and theme based system in next.JS because i am trying to build an app for my customers(non-coders) who will use my project to host their own shopping site. I want my application to have extendable capabilities so that suppose if they want to have a new payment gateway in their store
and they can add by downloading a module from a community developer who actually made that payment gateway and published for others usage they can just download and activate the module and fill up required variable.
IS it possible? If, yes then how and whether there any pre-exisiting project from which i can get an idea on how it works?
and they can add by downloading a module from a community developer who actually made that payment gateway and published for others usage they can just download and activate the module and fill up required variable.
IS it possible? If, yes then how and whether there any pre-exisiting project from which i can get an idea on how it works?
Answered by B33fb0n3
I haven't found one. But you can still copy their data structure. Because shopify is mostly just the CMS, their core is the data structure. So if you copy and modify it to your need, you are good to go. I done that and have now my own website builder with some special things, that does not exists on market yet. You can see on my questions in the past, that I also asked stuff here, because I couldn't find an open source project about that
18 Replies
@Skipjack tuna I have a question on how can i implement plugin and theme based system in next.JS because i am trying to build an app for my customers(non-coders) who will use my project to host their own shopping site. I want my application to have extendable capabilities so that suppose if they want to have a new payment gateway in their store
and they can add by downloading a module from a community developer who actually made that payment gateway and published for others usage they can just download and activate the module and fill up required variable.
IS it possible? If, yes then how and whether there any pre-exisiting project from which i can get an idea on how it works?
that's aktually a pretty big question. Yes, that's possible. You might want to start by setting up a database and a correct database structure that suites your case and with that you can work with.
I recommend you taking a look at shopifys data structure. They done a pretty good job: https://shopify.dev/docs/storefronts/themes/architecture
I recommend you taking a look at shopifys data structure. They done a pretty good job: https://shopify.dev/docs/storefronts/themes/architecture
@B33fb0n3 that's aktually a pretty big question. Yes, that's possible. You might want to start by setting up a database and a correct database structure that suites your case and with that you can work with.
I recommend you taking a look at shopifys data structure. They done a pretty good job: https://shopify.dev/docs/storefronts/themes/architecture
Skipjack tunaOP
And about plugin system?
the plugin system is just working with api. Like someone creates a plugin and provides the endpoints and your app (whatever plugin it is) uses these endpoints. These endpoints can be either your own or from external developers
Same there: just copy others who done that: https://shopify.dev/docs/storefronts/headless
In shopify example it looks like they implemented the basics and defaults that their app provides and the plugins can integrate that. Like that also your theme suites there
In shopify example it looks like they implemented the basics and defaults that their app provides and the plugins can integrate that. Like that also your theme suites there
@B33fb0n3 Same there: just copy others who done that: https://shopify.dev/docs/storefronts/headless
In shopify example it looks like they implemented the basics and defaults that their app provides and the plugins can integrate that. Like that also your theme suites there
Skipjack tunaOP
I am not into shopify stuff I wanna build my own
Stuff independent of any 3rd party ecommerce
@Skipjack tuna I am not into shopify stuff I wanna build my own
of course you want to build your own, but you can take a look how they do it and then copy it (not use it)
Skipjack tunaOP
Lib/framework
I don't find anything related to plugin here
oh sorry, I linked the wrong one. Here: https://shopify.dev/docs/apps/build
Skipjack tunaOP
There I can't find any proper relation with nextjs and as next js handle stuff differently so 🤷 I find somewhat difficult in understanding their relationship between the implementation of shopify features in nextjs
I wanna know like if anyone did this plugin or theme stuff in nextjs ??
@Skipjack tuna I wanna know like if anyone did this plugin or theme stuff in nextjs ??
I am doing it right now. And you are the person how need to use their brain to translate the stuff others do to the stuff you can do, to make it working for your case. It's pretty hard, I know from experience, but it is possible. You can't just find a video with: this is how you integrate your own plugin system
Skipjack tunaOP
No no you misunderstood me I am not telling that I want some direct tutorials by my experience I know there is no tutorials for everything I just wanted to know that is there any open source project of something that has implemented this type of feature in their project
@Skipjack tuna No no you misunderstood me I am not telling that I want some direct tutorials by my experience I know there is no tutorials for everything I just wanted to know that is there any open source project of something that has implemented this type of feature in their project
I haven't found one. But you can still copy their data structure. Because shopify is mostly just the CMS, their core is the data structure. So if you copy and modify it to your need, you are good to go. I done that and have now my own website builder with some special things, that does not exists on market yet. You can see on my questions in the past, that I also asked stuff here, because I couldn't find an open source project about that
Answer
