So technology stack. Venture is built using NestJS, which is a framework for Node.js and Express. It is also built using TypeScript, and it's built using GraphQL, and it also comes with the Elasticsearch support and the database of your choice.
Some basic concept of Venture. So how Venture really works. So we have two GraphQL APIs. We have the admin API and the shop API. Shop API is used mainly for your shop operations, like fetching the data about products, collections, users and customers, and admin API will be used for more advanced stuff, like managing roles, managing products, and so on, and so on. So if you are requesting the data from GraphQL API, it will go to Venture Server, which will start a queue, and this queue will create a worker which will then access the database and return the data to Venture Server, and this Venture Server will return data to your GraphQL API.
So we have an admin dashboard that is available for you, where you can add products, add collections, modify users and so on, and so on, and we also have the GraphQL API, which allows you to fetch the data to your storefront. In terms of customizability, Venture supports similar pattern as your storefront because in terms of Venture, instead of custom queries, we have custom fields, which allows us to extend the default structure of the domains or the entities in our database, so in this case, we have a product, which we want to extend, so that it will contain a new property, which will be named info-url, and it will be type of string. So next, what we can do is we can create a mutation in our GraphQL, where we will update the product with a new property info-url, so thanks to that, we don't have to create a new entity, we are just extending the default one. We can also customize the order flow, which allows us to not use the default one, but let's say we want to have a step between the adding items and arranging payment. So the default one is adding items, we will move to arranging payment. Adding items means that we are visiting the store and just, for example, adding products to our cart. And the arranging payment, which will mean that we are arranging some payment data and proceeding to checkout. So let's say that before arranging payment, we would like to have a step where we will be validating the customer. How we can do that? First of all, what we will do in the transition, we will create a new process. This process will contain a, it will be an object that will have some properties that in the big picture, what they will do is they will allow us to create a new flow. So we will add the validating customer and we will also modify the existing adding items, which will allow us to move to the step from adding items instead of going to arranging payment. And then in the validating customer, we will say that from this step, we can move backward to adding items or forward to arranging payment. And then we can just register this new process in Venture Config, as simple as that.
Venture also supports plugins, which allows you to extend the default functionality. So we have core plugins, which is the admin UI that you have seen previously, the Elasticsearch support, the email support, and also the asset server, which are provided by default. Next, we have the enterprise plugins that will be coming soon. And this is Advanced Search, Gift Card, Wish List, and so on and so on. And we also have the community plugins, which allows for Stripe, Braintree. So payment gateways, reviews, social auth with Auth0, for example. So let's review once again. Venture is built using modern technology stack.
Comments