Hello everyone, I am a Node.js Backend developer, my dev team and I are about to start building an e-commerce website to one of our clients, I am new to Shopify and e-commerce in general, and I would appreciate some help with the following concern.
the Ideal person to clarify my question is someone from Shopify dev team or someone with experience in building any kind of backend REST APIs or e-commerce based APIs.
I read and actually followed the tutorial on how to build a "Shopify app" with React and Node on this link.
however, from the developer's perspective, I still have some questions and I would really appreciate it if someone could help point me in the right direction.
* the tutorial specified certain development tools needed to build certain things and did not mention if I can use other tools or not. for example, Koa as a Node.js framework, It was not mentioned if I can use Express which is a replacement for Koa, also there was nothing about whether Typescript is supported!, which Database technologies (SQL vs NoSQL), the use of ORMs.
* According to the tutorial, the server app or (Node.js) file/files were placed in the same directory with the frontend (React) app, and this raises big concerns about the application folder structure!
where should we put our database model definitions files, validation files, middleware and core business logic, etc..?
* what exactly does it mean Shopify APP in this case? I want to build an e-commerce app and eventually host it online in one of the cloud platforms like AWS or google cloud storage am I thinking the right way about Shopify or is it some templating platform to build a plugin-like online store to show retailers products?
* do I need to conform to certain models when I think about defining database entities that will suit our client's needs?
* can I use something like Nest.js framework that provides a server app skeleton to build Node.js apps with a ready-to-use Typescript configuration?
thanks In advance.
Solved! Go to the solution
This is an accepted solution.
Hi @MoSwilam ,
As with all development there aren't any rules. You can use the tools that you want to use (for example, Postgres rather than Mongo on the backend, Express if you wish, etc).
I think the most important thing is that you follow the requirements for app approval. If you deviate from these requirements your app won't get approved.
Using Koa gives you advantages in that Shopify have provided some framework code for Oauth and handling authentication and authorization. Although you could implement this yourself. I have no experience, but perhaps you can wrap it in Express if you wish.
The tutorial recommends Next but no need to use that either - my thoughts are that it really depends on what your architecture requires. I would guess most people use it because that's what the tutorial uses (for those who follow it).
Folder structure is up to you too.
Deployment on AWS, Heroku, or whatever is down to your requirements and architectural needs.
Models - up to you.
I haven't found any limitations imposed by Shopify as your app is hosted externally. Only make sure you meet their requirements for approval would be my advice.
... I don't have much advice or experience to be honest, but that's my two cents. I just got an app approved so it can't be that hard