- 9 months ago
Category
š¤
TechTranscript
00:00:30Hello all, very good morning, thanks for joining the session, let me share my screen.
00:00:53So welcome to Java real-time project, full-stack development, course demo 2.
00:01:02Yesterday we have done the demo 1 where we discussed about the course objectives, a course overview, prerequisites, from where you can download the source code, where you can download the materials,
00:01:15how the recordings will be shared to you, and then what is the duration of the sessions, and then what is fee.
00:01:23So this is what we discussed yesterday, and today let us discuss about the introduction to V-Sharpify platform, meaning what kind of application now we are going to do.
00:01:47So let us discuss that, and let us understand the existing system, let us study the existing system.
00:01:58And from the existing system study, let us understand the requirements, let us derive the requirements.
00:02:06Then later, we will see the UML diagrams, class diagrams, ER diagrams, so we can say ER diagrams, entity relation diagrams, so we will build these diagrams then, we will write these diagrams or create these diagrams.
00:02:23Then we will see the existing technical architecture, monolithic applications, what is its technical architecture, then let us see the proposed technical architecture, meaning the new technical architecture, let us see.
00:02:40So with the existing application, what are the issues that we have, and with the new architecture, what is the benefits, what are the benefits that we will get, let us see.
00:02:52Meaning the new architecture means micro services architecture, and functional architecture, then the functional architecture, we will see, this is again should come here.
00:03:07So functional architecture, first technical architecture, then functional architecture, both we can use as, meaning functional architecture, and then technical architecture, the words may be used interchangeably, but sometimes the different meaning will come up, the different flow, functionality wise, the architecture, and then the technical architecture,
00:03:36have the differences, have the differences, but they can be used interchangeably, then we will see the technical architecture of the new proposed system.
00:03:46So before that, before that, we have to see the microservices overview, the microservices overview, then technical architecture, proposed technical architecture, then we need to see the migrating strategies of the existing system to microservices architecture.
00:04:05Then how we can maintain the microservices architecture, then how we can maintain the deployment and the maintenance of the MS in microservices architecture in production.
00:04:12So we need to design the production deployment topology.
00:04:19So let us, let me write it something like design production deployment topology.
00:04:29So production deployment topology, we need to decide, meaning what is the architecture of it and, you know, what kind of cloud we are going to use and all we can see using this deployment and then the production topology architecture or design.
00:04:48So this is the agent for today.
00:04:55And then today onwards, the real-time sessions are starting.
00:05:02This is the demo too, but don't consider it as, you know, demo, but it is the continuation of our regular sessions as well.
00:05:09So once this, this is the introduction to V-Sharp FI platform application is done, then we will go for the development environment setup.
00:05:20Okay, so development environment, what are the tools, what are the ideas that we have to take and all we will discuss, but first we will get the clarity on the existing, meaning the V-Sharp FI platform application.
00:05:35So before going to the theory and all, let me showcase you the existing application.
00:05:42So this is what the existing application you can see.
00:05:48So this we can say as V-Sharp FI platform.
00:05:53And there is another application called V-Sharp FI front-end application.
00:05:59So there are two applications, V-Sharp FI front-end application, V-Sharp FI backend application.
00:06:06So this V-Sharp FI backend application, we have the various users, meaning super admin, admin, the various users.
00:06:18Let's say when super admin has been logged in, that super admin can create the users you can see here.
00:06:26So the users of V-Sharp FI admin, V-Sharp FI sales, editor, and then the shipper.
00:06:33So these four are the users will be created by this super admin.
00:06:39So when the admin will join, meaning when the admin will log in, this UI will be different.
00:06:47Because this admin have the role called admin.
00:06:52For this role admin, there were, you know, some limitations.
00:06:58And then compared to super admin, there were some limitations to the admin.
00:07:01And admin can see only a few things in the dashboard.
00:07:05And admin can perform only a few things in the dashboard.
00:07:07Similarly, the sales person can see a few things only.
00:07:11And the editor can see a few things.
00:07:14And then the shipper can see only a few things that he can do only a few things in the application.
00:07:19So we have here handle the role based access control for the users.
00:07:27And we are defining what a user can do based on the role.
00:07:32So there is no permission based access control or attribute based access control.
00:07:39So that is what we need to improvise in our latest system.
00:07:43Okay.
00:07:44This is what the back end and then front end application.
00:07:49If you can see the users will log in and the users will place the orders.
00:07:55They can do the payments.
00:07:57They can track their, you know, shipping and then delivery.
00:08:00If they have any questions, they can ask the questions and then they can review the products as well.
00:08:06They can review their, they can provide their review comments as well.
00:08:10And contact, they can contact at any moment of time to the customer care.
00:08:16And this user who gonna register, let's say here, the user need to be registered, sign up.
00:08:25So when the user will be sign up, this user is called as a customer.
00:08:30So if you can understand carefully here, we have a customer tab where all the customers will be seen here.
00:08:40And similarly, we have the user's tab.
00:08:42So users and then the customers, both are two different types of users.
00:08:47Customer is also a user, but the type is different.
00:08:51So this customers will register themselves.
00:08:55Okay.
00:08:56Customer will access the application and then register themselves.
00:08:59No one will register the customers.
00:09:01So this is called as self registration.
00:09:04So when the self registration is there, definitely we need to identify or we need to verify the identity of the person who is registering.
00:09:14For example, if the, if the user is registering by the super admin, let's say we Shopify platform is an application.
00:09:22I want to appoint few sales guys.
00:09:25Then what I can do, I can call them for an interview.
00:09:28I can call them for an interview.
00:09:30I can take those, their documents.
00:09:32I can verify their experience, educational qualifications and all, then I can appoint them.
00:09:38Once I can appoint them.
00:09:40I mean, once I appoint them, then I can onboard them by creating the user here.
00:09:44So there were a lot of verification is happening by the super admin.
00:09:49But when it comes to the self registration user, there is no such verification.
00:09:54There is no such document verification, or there is no such, maybe the qualifications, verification and all, which are not required for this customers.
00:10:04In fact, because these customers are just users of the application, but still we need to verify the identity of the customer.
00:10:11Like, you know, email verification, maybe the mobile number verification by sending a text message.
00:10:16So at least these two checks we need to do and then we can confirm because the people may give the dummy emails or people may enter the wrong mobile number.
00:10:26So these two checks we need to do at least.
00:10:29Okay.
00:10:30So that means the user identity need to be verified here.
00:10:33So in the self registration, user identity verification will be there.
00:10:38Whereas in the admin created users, no need of having the verification of the user identity.
00:10:45But if you can observe carefully, this is what the application is.
00:10:51So we shopify platform is a MVP product MVP meaning minimum viable product.
00:11:04Correct.
00:11:05Correct.
00:11:06When the user will sign up, OTP will go to the email, meaning the user verification email will
00:11:10send to the user's email.
00:11:13So if that flow, I'll explain, but first let us understand the concept of the project.
00:11:21So the Shopify platform is a MVP product.
00:11:26What is this MVP minimum viable product?
00:11:31So we are now building the minimum viable product.
00:11:38What is this minimum viable?
00:11:39We'll discuss in a short moment.
00:11:43So we shopify platform is a MVP product for any retail e-commerce business.
00:11:50Again, this is very, very important to understand the domain called retail e-commerce.
00:11:56So we'll discuss about this domain and we'll discuss about this MVP going forward, but just
00:12:03look at the product and understand the product.
00:12:05Then we'll come to the domain of the product and then we'll understand more.
00:12:10However, so it is a retail e-commerce.
00:12:14In a nutshell, you just understand retail e-commerce meaning difference between the DMART and then
00:12:22the AMA job or difference between the DMART and then the big basket applications.
00:12:28So DMART is a, DMART is a retail, retail, uh, domain, but the big basket is a retail e-commerce
00:12:40domain.
00:12:41So that means what?
00:12:42When the retail business is available over the, uh, online or internet, then that is called
00:12:48as retail e-commerce.
00:12:50So whatever the products you can choose, those products will get delivered to your location.
00:12:55You don't need to go, but that is not the case with the DMART.
00:12:59You have to go to the DMART and then you have to purchase yourself and then you have to collect
00:13:04it.
00:13:05Or at least you need to go to the nearest DMART centers to collect your packs as well.
00:13:08Right?
00:13:09You need to visit the store.
00:13:11So that is what the retail business.
00:13:14But if that retail will come online, then that is called as a retail e-commerce.
00:13:19For example, big basket.
00:13:20And, uh, nowadays Flipkart also delivering the groceries and all, and, uh, not only groceries,
00:13:27but whatever it is, whatever the product you can purchase.
00:13:30So it is, it is delivery.
00:13:31For example, Reliance, uh, Reliance electronics is there.
00:13:36Reliance electronics is still retail business only, retail e-commerce, sorry, retail commerce,
00:13:42meaning retail, uh, retail domain, retail business.
00:13:46But, uh, Amazon is retail e-commerce, meaning product you can purchase, you can browse, you
00:13:53can surf in the online and you can purchase.
00:13:55The product will be delivered to you and the product you can review.
00:13:59You can return your product.
00:14:00If you, if you don't want it, you can get the refunds.
00:14:03You can track the product.
00:14:04You can do, you know, with the place where you are sitting, you can do all these activities.
00:14:11That is called what the retail e-commerce when retail business will come online.
00:14:16And that is called as a retail e-commerce.
00:14:19Now coming to MVP minimum viable product.
00:14:24So minimum viable product means all the common and complex features of the retail e-commerce
00:14:32will be implemented in this product.
00:14:34So I want to build a product similar to Amazon, or maybe, uh, I want to build a product, which
00:14:41is maybe super than the Amazon.
00:14:43I have a lot of thoughts, but can I implement those thoughts or not with the technology and
00:14:50then the solutions available in the market nowadays, can I implement my thoughts or not?
00:14:57So that is what we called as MVP.
00:15:01Meaning first we will, we will develop a piece of the application with the complex and then
00:15:06the common features.
00:15:07Let's say, um, just, um, assumes, uh, I'm giving just for example, assume, um, face recognition.
00:15:17So when the products are purchasing, you have to recognize yourself with the face, no camera
00:15:24will be open.
00:15:25And then the, you have to read the application.
00:15:27We'll read your face just as a doll while you are taking the product.
00:15:32Uh, at the time of its delivery, again, you have to show your face recognition.
00:15:38Assume if this is the case, then what I need to think, how I can achieve this one.
00:15:44So how I can embed this face recognition as the second factor authentication.
00:15:50So I don't know.
00:15:52Right.
00:15:53But I, I, then I will start looking at the technologies solutions available in the market
00:15:58today.
00:15:59And whether that will be possible with this retail e-commerce or not, I will create a
00:16:03simple project.
00:16:04And then on the simple project, I will do my R and D research and development.
00:16:08And then finally, with the technologies tools available in the market today, I may be achieved
00:16:12that.
00:16:13So that is called as what viable product.
00:16:17Meaning, um, did you observe one thing, uh, in our, whatever the, whatever the, um, heritage
00:16:26sites you can see nowadays, uh, you know, ancient heritage sites, every ancient heritage site
00:16:33will have a blueprint at its, at its nearest location.
00:16:36Right.
00:16:37So for example, Taj Mahal, you can see, so it's kind of, it's a blueprint is somewhere
00:16:41else.
00:16:42Right.
00:16:43That is called, we can just assume that as a viable product.
00:16:46I mean, you know, maybe this example may not be the valid one, but for you to understand,
00:16:51I'm just telling so for every, you know, big, uh, product or, you know, the huge product
00:16:57you thought you first will create one small product and then achieve all the complexities
00:17:04in that small product.
00:17:05Then you will be confident enough to go to the big product implementation.
00:17:10So that small product, which is a basis for the big product is called as what the MVP
00:17:17minimum viable product.
00:17:19Hope you got it.
00:17:20Right.
00:17:21What the meaning of the viable viable mean?
00:17:23Possibility.
00:17:24Possibility.
00:17:25You have one thought, but with the current technology, current solutions in the market,
00:17:30whether it is possible or not, you don't know.
00:17:32So you will hire some people.
00:17:34You will spend some money.
00:17:36You will spend some time and then you will work with them to achieve your thoughts, goals
00:17:41and all.
00:17:42Once it will be achieved, then you can showcase that MVP to the investors.
00:17:46Then investors will invest, then start your original product implementation.
00:17:51That is how the startups are doing nowadays.
00:17:54Right.
00:17:55So if you have any thought, first you make it as a viable one and showcase it to the investors.
00:18:02If they impressed, then they will start funding you for your actual product.
00:18:07So such a product is called as MVP minimum viable product.
00:18:12So here we are also building the minimum viable product.
00:18:17Did you guys observe yesterday in demo?
00:18:19Someone have asked me, sir, can I put this project in the resume?
00:18:23100% you can put your project in the resume, but you have to explain it as an MVP.
00:18:28Minimum viable product.
00:18:29Because nowadays, a lot of products are there on the e-commerce platform.
00:18:33But what you are extremely achieving it, then why your company is investing again in the e-commerce solutions,
00:18:39which are already readily available and then doing billions of the business nowadays.
00:18:44By investing your money and then what you are supposed to achieve, what your company is supposed to achieve.
00:18:49Right.
00:18:50Maybe your company have some unique thoughts in the retail business or retail e-commerce, which may not be, which was may not be there in the market nowadays.
00:19:01So probably for that, the, you know, they were invested.
00:19:05So you can put this project in the resume, but you have to mention it as the MVP minimum viable product.
00:19:14Sometimes this minimum viable product may be two to three years.
00:19:17This minimum viable product may be one year or six months.
00:19:20It depends on.
00:19:21Okay.
00:19:22Right.
00:19:23Now, we Shopify platform is also a minimum viable product where we will write the common and then the complex features of the retail e-commerce business.
00:19:33Okay.
00:19:34So this product suite contains two applications.
00:19:39So one is the V-Sharpify platform backend.
00:19:43Second one is the V-Sharpify platform frontend.
00:19:46So two, two applications we have V-Sharpify platform backend, V-Sharpify platform frontend.
00:19:54Now, let us study this.
00:19:58Don't think like backend meaning Java, frontend meaning Angular.
00:20:02No, that, that is different.
00:20:04Technology wise, architecture wise, that is different.
00:20:06But here the meaning of the backend and then frontend is, this is the customer application.
00:20:11This is the backend team application.
00:20:14Right.
00:20:15For example, you, videos are there.
00:20:18You are the users of the videos, right?
00:20:20Regularly our sessions are uploading to the Google drive.
00:20:23So who are you?
00:20:24You are the users of those videos.
00:20:26You will have a limited permissions, but who are uploading those?
00:20:29Our backend team is uploading them.
00:20:31Right.
00:20:32Both you belongs to Durgasoft Institute only.
00:20:35But what is happening?
00:20:36The roles and then levels of accessing of the application is differing.
00:20:40So that is what exactly here.
00:20:43Backend application is the application where the backend activities will go on, like uploading
00:20:49the products.
00:20:50When the product will be uploaded its price, let's say Samsung new mobile came.
00:20:54So the backend team will upload it.
00:20:56It's specification, it's cast, it's images, it's reviews, and all the backend team will upload.
00:21:02Then that will be visible to the frontend.
00:21:05That means the customer will get it.
00:21:07Right.
00:21:08So here the frontend application is what, you know, when we go to the microservices architecture,
00:21:15you are right.
00:21:16This frontend application will be Angular or ReactJS.
00:21:19But now as this is the monolithic application, both are the Spring Boot applications only here.
00:21:24Okay.
00:21:25So we can say it as a back office application and then the front office application.
00:21:29So first let us see the back office application.
00:21:32I hope you guys are following me and then it is clearly understanding for you.
00:21:36I believe, right?
00:21:37If any questions you can stop me or raise your hand or type your question.
00:21:42I'll allow you to speak to me and then answer your questions.
00:21:47Fine.
00:21:48Yes.
00:21:49Sorry to interrupt, sir.
00:21:51This is my first class yesterday.
00:21:53I didn't attend the first demo.
00:21:55So I like to know that you showed us an application, right?
00:22:00Correct.
00:22:01But are you going to design those from the scratch or that's already designed in ReactJS and just
00:22:08we are going to implement all these concepts?
00:22:11No, no.
00:22:12We are going to do this from the very scratch.
00:22:14Okay.
00:22:15Even the design also, right?
00:22:17Design is already we have the wireframes.
00:22:20For example, you can see this is the redesigned product.
00:22:24So let me even start the redesigned product.
00:22:27So this product is the existing system.
00:22:30First using Spring Boot, we will redesign it like this.
00:22:34So let it come up, but not all the entire project because due to our time and all, maybe it is not possible to redesign entire one.
00:22:43At least two or three modules we will redesign.
00:22:46So let me now go and then what is the port number 505050505050.
00:22:57So this is what the UI and then let me log in with Bill Shafi if I, if I, if I not, may enter it.
00:23:06Why?
00:23:07Mail.com.
00:23:08Error one moment guys.
00:23:15Probably, probably just give me a moment.
00:23:20This redesign application have the, what is the database it is connecting to.
00:23:28Let me just think shop me underscore customs.
00:23:33One moment.
00:23:34Let me go and then see the shop me underscore customs.
00:23:38So this is the database.
00:23:40So here is the users table.
00:23:42Okay.
00:23:43And let's see the customers.
00:23:45Let me see the data.
00:23:46Okay.
00:23:47We shopify.
00:23:48If an admin at the rate, why would be mail.com.
00:23:50Just let me log in with this one.
00:23:51One moment.
00:23:52Maybe the password is not correct.
00:23:56Let me go and then.
00:23:57Okay.
00:23:58Okay.
00:23:59Okay.
00:24:00Okay.
00:24:01Okay.
00:24:02Okay.
00:24:03Okay.
00:24:04Okay.
00:24:05Okay.
00:24:06Okay.
00:24:07Okay.
00:24:08Okay.
00:24:09Okay.
00:24:10Okay.
00:24:11All right.
00:24:12Okay.
00:24:13Okay.
00:24:14Okay.
00:24:15Let me generate a password.
00:24:16Give me a moment.
00:24:17Oh yeah, I got it.
00:24:18I remember this password now.
00:24:19Just give me a moment.
00:24:20I'll show because this application have the, how it will be.
00:24:21Sorry, my bad.
00:24:22Just give me a moment.
00:24:23Let me showcase this.
00:24:24just in a moment i'll showcase this application how the how it will be
00:24:31sorry my bad just give me a moment let me showcase this as the question asked the ui
00:24:39i need to showcase how it will be or else i can if possible i'll log in otherwise i can showcase the
00:24:45i can showcase the wireframes yeah right now maybe i am not able to login let me just reset the password
00:24:58last time i mean last time let me try if it is working fine then that's okay otherwise let's
00:25:05i can showcase you the
00:25:06test administrate one two three this is the brick b crypto i believe the right one is also the same
00:25:20if not then we then let me set up this one and give a moment let me save it now let me go here
00:25:30and then again login is email and then the password is test admin
00:25:41a thread one two three excellent so the new ui will be like this so we shopify platform and then the
00:25:50dashboard customers add customers view customers artists other status new order track order shipment
00:25:59status so these these many features we have not seen in the um right now whatever the application
00:26:06we have right so this is what the app in this app we don't have these many features let's say
00:26:15let me login again here yeah now i don't this ui doesn't looks good or maybe i'm not able to see at all
00:26:22but compared to that ui this is very nice so what we will do when the uh admin will be logged in then
00:26:31admin can create the categories and then the products and then the brands orders customers so this is
00:26:38what we're gonna design from the very scratch from very very scratch got it yes sir thank you
00:26:45okay so we have the wireframes available for this uh one last point i just i would like to add here
00:26:53so we have the wireframes already so those wireframes we will use and then we will build this application
00:27:00so if we can see here um the wireframes are here so these are all the wireframes this these wireframes
00:27:10will be given by the back-end team sorry back-end team in the sense that design team not back-end team
00:27:16these wireframes will be given by the ui designers so ui designers will design this back-end screens
00:27:23so this uh the screens so these screens we will use and then we'll make them as dynamic using our
00:27:30rendering technology so here we are using the time if you can see
00:27:34um so customer or you can see this time leaf pages so let's say uh dashboard.xcml so here we have used
00:27:45the time leaf so you also gonna learn how we can use the time leaf and all um i mean from the very
00:27:53scratch we'll do so you also will learn the time you find out um here one problem actually i would like
00:27:59to tell only one thing this is what the monolithic application so we don't go to implement the
00:28:05monolithic application uh what i mean to say is we're gonna implement the microservices i mean to say
00:28:12so these microservices we will build from the scratch but not this monolithic application this monolithic
00:28:18application is what the existing application so what we're going to do first we're going to implement
00:28:23these microservices then we're going to implement this view using the react.js not using the sprint
00:28:30boot and time leaf using the react.js we're going to implement it so in react.js how to take this
00:28:38how to take this html content and then convert into react pages and all i'll explain of course that is
00:28:43also typescript and all so i'll explain but i don't explain what is typescript and what are the objects
00:28:49in the typescript how we can understand what is javas i don't explain that but i'll explain what
00:28:54is react how we can create a react project and how we can make this static html page says the dynamic
00:28:59typescript pages right and then how we can integrate with the rest apps so that part we will see okay
00:29:06meaning the same ui we can get it using the react.js so probably i can showcase that react.js one as well
00:29:15just in case um one moment guys so maybe i'll do uh open recent just give a moment uh midi lab pre-clinic ui
00:29:30this is some other application midi lab pre-clinic ui um similar to this we also will convert
00:29:38our vsharpify platform into the react application see this similarly dashboard components we have
00:29:45service we have and uh how how the service call is happening with the token you know how the tokens
00:29:51are getting and all this this is what you know from very scratch this we will implement but i i don't
00:29:57explain what is this react.js what is the typescript what is javascript no i'll explain of course what is
00:30:03the react.js maybe we'll discuss then we'll discuss directly the structure of the react.js project how we
00:30:09can understand it what is this package.json and what are these node modules here we're going to get the
00:30:14node modules and how we take our static html content assets forms and all as a dynamic react.js rendering
00:30:23content so that part i'll explain so got it right expectation
00:30:31any questions guys this is vikram hi yeah i'm asking like um these static html also this all the
00:30:41html coding also will be done during the session itself right no no no we are not designers don't
00:30:47go in that we are not designers obviously in in in the company we will have a dedicated designing team
00:30:54so designers will use the photoshop uh they will use the css html they don't know javascript forget about
00:31:03it they know only the html css and then what they'll use the bootstrap and they'll use the photoshop
00:31:10then they will create the static pages then what we have to do as a developers we need to make them
00:31:16as a live pages or the dynamic pages so by adding the javascript content or the typescript content we
00:31:22need to make them as live so designers will design so that's the reason probably i thought to showcasing
00:31:30you the um wireframes just give me a moment let me showcase the wireframes as well uh yes yes we
00:31:40shopify wireframe see this all html so you can see this wireframes here see all html so this is the
00:31:48wireframe static one but we made it as a dynamic which don't contains the data but here it contains the
00:31:55data but the look and feel is same ui and all is same right so designers will design ui designers will
00:32:04design these static pages and then they will give it to us then we will make these pages as a dynamic
00:32:10pages no matter whether you will use javascript no matter whether you will use typescript or no matter
00:32:15whether you will use the time leaf at what side you are using meaning what technology server side or
00:32:23client side you are using to make them as the dynamic that is the different story but the static content
00:32:29will be given by the designers so our friends is already built i mean we will already built already
00:32:36built we we never do that it's it's none of our job first of all because we are the developers not the
00:32:42designers okay so wireframes are already there for us see this these are all the wireframes so given by
00:32:49the uh ui designing team got it and we will write all the all the react js code from scratch exactly from
00:32:59scratch we will write it from scratch we'll write it and uh nursery for html css all these things also
00:33:05like uh will be written in from scratch itself no we that's what we don't return them we are not the
00:33:12ui or the ui or the ux designers designers will take care of that we are the developers developers
00:33:20will work with the data not with the design so developers job is to make it as a dynamic
00:33:28so we don't write the css we don't write the html we don't write the uh bootstrap if required we will
00:33:36add them maybe some clip art some images we can add them but this designing part we
00:33:42don't do so will you share those uh like the pages correct correct i'll share those pages yes i'll
00:33:49create one uh classroom so how i will share those pages also i'll showcase um so i'll use one classroom
00:33:59usually if you can see here this is what the classroom and here i will share those wireframes
00:34:08so you can go and then get those wireframes from here so for for your batch i'll create one more
00:34:14classroom so where you can go and then get the all the material see wireframes so you can download
00:34:21these wireframes from here like this i will create one more one more classroom for your batch where you
00:34:28can find this wireframes got it make sense right any questions any more questions and not see i have
00:34:37one questions actually i attended your uh previous sessions but due to my night shift work i was not
00:34:43able to uh complete the whole sessions also please allow in these sessions with some discount or any yeah
00:34:51yeah yeah just just ping me ping me in the telegram channel we'll discuss over there okay thank you
00:34:59okay so let us continue um let us continue with our project concepts okay i hope you understood the
00:35:08mvp and then the in a high level retail e-commerce now back office application is is having these uh we
00:35:17our product suit having the two applications one is the back office second one is the front office
00:35:23so back office application is having the super admin admin salesperson editor and then shipper
00:35:31the super admin is a configurable user so that means when we run the application this user should have to
00:35:40be created by default in the system so we'll do it and all we'll discuss maybe going forward but this is
00:35:48the configurable user so once the system is up and run then these super admin will log in the application
00:35:58and then create the other users according to the uh according to the roles and according to the job they
00:36:05need to perform so admin salesperson editor shipper so all these roles so super admin again uh the
00:36:15super admin dashboard is like this where you can see all the pages so super admin is the user should
00:36:21have to be created in the time of the application bootstrap with all the permissions on the application
00:36:27modules as soon as the super admin log into the system as shown below right as soon as the super admin
00:36:33login the following dashboard will be shown with all the modules right now let us go to the user
00:36:40management because super admin now uh you know starts creating the users super admin now login then
00:36:48super admin will create the users so when the super admin will create the users then we can see a screen
00:36:53like this where we can see the roles already populated so that means super admin should have to be create the
00:37:00roles as well but if you can see in the screen we don't have the role creations role creation uh screen
00:37:07seems to be these are the settings nowhere in the settings we have the role creation and nothing so
00:37:13there is no role creation we are assuming that the roles are predefined or maybe roles will create when
00:37:20the application is bootstrapping right but we need to add the module also for the rules and then the
00:37:27permissions creation so when we migrate it to the micro service then this entire will comes under
00:37:33this user management service see this user management service so this user management service will have
00:37:39all the things like rules creation permissions creation and all so if you can see this resource
00:37:46user resource.java so users uh users creation rules creation right right so how the roles will be created how the
00:37:54roles will be retrieved and all again permission based access control is also need to be improved so which
00:38:03is not there in the earlier uh charity position java real time project session but now we will we're going
00:38:10to add the permission based access control as well which is called as pback or aback so we will
00:38:16improvise this api to have the permission based access control as well right so so this api will be now
00:38:25consumed at the us ui side by this customers module meaning the customers page so here we will have
00:38:32everything about the customer like uh customer creation customer service add customer you know customer can be
00:38:41created and then the customer can be viewed customer can be edited customer can be deleted and all so
00:38:48notifications so when the customer get deleted then the notification will go this decision should be a
00:38:54soft deletion not hard deletion there were a lot of concepts and the customer will be created here
00:39:02customer sense user so when the user will be created uh maybe the user will get notifications as well so
00:39:08notification service also we need to implement so which was not there earlier again that is what
00:39:14we need to implement here in our jrtp2 batch so there were some lot of there were some improvements
00:39:21happened meaning there were some improvements i i need to i need to add so i mean improvements in my
00:39:27in my notes in my plan so those implements i will publish once the enrollment process done then
00:39:34uh previous batch to this match the improvements you can easily find out what we're going to do
00:39:40however so this is about the customers module now if you can see the customer meaning the user and then
00:39:48the role so if you can see it's er diagram this is what its entity relation diagram so this user one user
00:39:56will have exactly one role so user to role it is a one to one relation user to role it is a one to one
00:40:04relation so one user may have the one role so this we need to improvise with the permission based access
00:40:11control one role may have the many permissions so one to many relation we need to achieve in the
00:40:17dispatch jrtp2 batch okay so this is what the um uh users management so now you can see the role
00:40:27having the role id and role name role description where the users will have the role id name and all
00:40:34and uh every user there is a table we created called user underscore roles whereas the user id and
00:40:41then role id in fact this this is not required if if the user will have only one role then we can have
00:40:49the role id here here only here only in the table we can have the role id but why we have taken separate
00:40:55table is maybe in the future the users may have many rules as well so in order to make it as more
00:41:02sophisticated and then stretchable i mean uh you know improvisable product because it's an mvp so we
00:41:11don't know when we add the product features are when we remove the features so our design should be
00:41:16stretchable so that is the reason have taken the thought table however in the ap entity design we'll
00:41:23discuss more about this one but coming to here um we have the super admin user and super admin can see
00:41:31these are the roles and then super admin can map a a a role at a time for a particular user so one user
00:41:38can have the one role and now the users created can be logged into the vshapify platform back office
00:41:44application with their respective roles so here i may have added the constraint super admin create users
00:41:51of the back office application as shown below i believe maybe the constraints i have not added
00:41:56constraints i have added in the use cases document so if we can see the use cases document java real-time
00:42:04project vshapify platform platform docs there is a use cases document so in the use cases document again
00:42:13i have added the a detailed use cases so create product delete product uh not this one use cases
00:42:22uh maybe in the infraset uh maybe in the infraset one moment let me check it out
00:42:31so this is what the infra setup how we can do the infrastructure setup and all
00:42:37um our real-time project full stack one moment i have drafted the use cases somewhere else
00:42:43uh this is not okay the use cases are uh are only few but i'll update the more use cases so create
00:42:55product only product related use cases i have drafted but other use cases also i will draft and
00:43:00then push it to our jira okay however now coming to the concept the user can create the other users
00:43:08which are called as the non-admin non-super admin user maybe admin or maybe the different users
00:43:13so once the users can be created then this user's data also we can export for for example i want to
00:43:19export it into a pdf format now we can go and then see the users report uh users reports like this
00:43:28so list of users and we can also export it to a xml format as a csv or xml as well
00:43:34uh not xml csv and then what it is uh yeah excel format not xml excel excel format and similarly the
00:43:44user can enable or disable a user at any moment of time super admin can enable or disable user so these
00:43:51are what actually the use cases now you are understanding the functionality right this functionality
00:43:56is nothing but the use cases so let us draft those use cases number one step one super admin will be login
00:44:04step two super admin will create the other users step three while creating the other users super admin
00:44:11can assign the roles to the other users super admin can assign only one role at a time to a one person
00:44:18so one person contains only one rule this is the constraint then once the user is created then the
00:44:24created users by default will be enabled here if the super admin want the super admin can disable the users
00:44:33then the super admin when the super admin is disable the particular users then that particular users
00:44:38can't log into the application and the users which are created can be deletable but it is not the hard
00:44:45delete it is just a software delete that means the user still in our database but the users are
00:44:51can't able to access the application and then the users whatever are created those users you can export into the
00:44:59the pdf format excel format and then csv format we have to export the basic details of the user but not
00:45:08the credentials of the user like user id and then password should not be exported rather his photo email id
00:45:14first name last name rules these should be exported so that is what the use case of the user module
00:45:23clear right clear are any questions any questions
00:45:30okay so i believe use case is clear for the users module so tomorrow we'll discuss
00:45:34do we also implement oath ah yes obviously oath is coming to the picture when we talk about the microservices for
00:45:44example you can see here these are all the microservices uh you can see the uh category service now
00:45:53see this configuration absolute jwt right jwt authentication filter so here we have used the
00:46:01oauth actually open authentication along with the jwt so this will comes when the microservices are in
00:46:07place but we are now discussing about the functionality so just focus on the functionality and then the use
00:46:14cases here the security when the when when this user coming to the security obviously every logged in
00:46:20user will get one jwt token so that jwt token will be generated by our database and also our iam so our
00:46:30product will have two kinds of authentication modules one is the sso authentication second one is the
00:46:38general authentication normal authentication one is sso authentication second one is the normal
00:46:44authentication for sso authentication like facebook uh gmail or maybe other applications so for that
00:46:51we're going to use the iam and for the general application login we're going to use our database so
00:46:56these things we will discuss in our authentication module okay now we are at user management once the
00:47:02user management is completed then how these users will be logged into the system is what we're going
00:47:08to discuss right so tomorrow we'll discuss about the customers module in customers modules the key
00:47:16point is the notifications so we'll do one thing i'll come up with the use cases for this user management
00:47:22module constraints and all and tomorrow we'll discuss about the customer's module here the notification
00:47:28part we'll discuss we're going to use centigrade and then twilio to send the email notifications and
00:47:34also to send the otp text messages and we will use the key cloak or wso2im which also having the
00:47:42notification sending facility so that it will it will send the notifications when the users will be created
00:47:49into the im servers so now when to use the im server when to use the database authentication
00:47:54all these things we'll discuss in our authentication module so once the customers is completed tomorrow
00:47:59then maybe day after tomorrow we'll discuss about the authentication module here each and every
00:48:03module is nothing but one microservice in the down the line okay any questions for me that's all from my
00:48:08set for today yes we'll use wso2 also here so i believe the production do we write the jv test cases
00:48:20obviously jv test cases we need to write obviously but not for entire microservices i will write for one
00:48:26microservices then you guys have to follow it and then write for other microservices because time is
00:48:31constrained for us so i'll write it for one one microservice let's say see this i am roll a pay test and
00:48:38the uh i think uh we have done this for only the role testing but maybe the category service so unit
00:48:48testing is uh must and should so we definitely will implement the unit test cases in the existing
00:48:53project meaning in the current project uh unit test cases we have not implemented implemented only for the
00:48:59user management service that too for only just finding the role sender but in our project we're gonna
00:49:06extensively implement the unit test cases using the market yep okay guys so i think that's all from
00:49:16my side for today uh one more thing i would like to explain someone asked me are we using wso2 here
00:49:22yes we are using the best photo here so this user management service will have its own database and have
00:49:28its uh you know wso2 as well here this user management server connects to the mongodb let us use mongodb
00:49:37mongodb is not required or we can also use my scale but what i mean to say is my users attributes will be
00:49:45improved on the time the user attributes are may not be fixed maybe tomorrow we're gonna add the mfa and all
00:49:53so the user attributes may be increased meaning structurally they're going to increase so that's
00:49:59the reason here we're going to use the mongodb mongodb for the local authentication and then the
00:50:05wso2 for the sso authentication so both we will use and in earlier jrtp1 i have used only the wso2 but
00:50:13not the database for this user management but here we will use the database for the user management as well
00:50:20okay any more questions are you going to show will you show that uh mongodb like from the scratch also
00:50:28like the installation process and everything uh we will use the correct we'll use the cloud cloud
00:50:34mongodb cloud atlas instance we will use not class it is the cloud mongod cloud mongod class so cloud
00:50:42database we'll use it is free and we'll we'll set up that cloud mongodb and uh we'll write the code to
00:50:50talk to that mongod so i'll i'll showcase obviously uh mongodb set up in cloud not in local installation
00:50:57local installation is okay but however our our target is to deploy it in the aws cloud so
00:51:05mongodb and all should be reachable so that's the reason we'll set it up in the cloud first
00:51:12okay clear right um are you going to show how data is dynamically loading using jquery from the db
00:51:19why the jquery here here we are not using jquery here we are using what react.js so react.js will
00:51:27have a auxon dependency or auxon library see you can see here what this auxon dependency auxon library
00:51:35is doing so let me go to um let me go to this department service see what it is doing it is loading
00:51:43all the departments find all departments so what it is doing it is giving a rest call sorry auxios
00:51:49not also auxios is giving a rest call to the backend microservice so backend microservice will
00:51:54use the data to this react.js so that means everything is a network call so here is the react.js this
00:52:01react.js will call you know i want to get all the customers then the user management service will use
00:52:09all the customers by loading the data from the database got it so there is no jquery rather we
00:52:16will use the react.js auxios library yeah hope it makes sense yes is course fee 8k on top of that
00:52:24do we need extra money for licensed softwares okay so course fees 8k coming to the licensing softwares
00:52:31all or we are using only the open source software it's not licensed but for the aws cloud instances
00:52:37you have to pay on your own meaning going forward we're gonna take a lot of aws instances so for
00:52:45that you you need to pay the money for that you know maybe um it will comes around per month 1200
00:52:521200 800 to 1200 bill you will get per month because we're going to take the t2.medium machines
00:53:00and c5.ax large missions meaning high comparable machines we're going to take not the free machines
00:53:06are not the free servers okay so that you have to spend and then you have to bear it okay so this
00:53:13is 100 pure real time i think by looking into this code you can understand you it's not kind of you know
00:53:20simple t2.micromission you know we deploy it and then we do the collapse no that is not the case here
00:53:26it is it is it is completely a a realistical simulation and um we're going to use the a lot
00:53:34of real-time concepts here and its deployment is also like that right so we're going to deploy it in
00:53:41the docker and then the docker will be set up on the t2.medium machine and then elk we're going to set
00:53:47up it on the c5.ax large machine and then the graphana promethe is again we're going to set up on the
00:53:52large machine so like that i will take and i mean i'll explain the uh support matrices machine support
00:53:59matrix so this cost you have to bear once the enrolling process is completed then i'll explain
00:54:04about this this uh you know infrastructure maintenance and all okay right any more questions for me yeah i
00:54:13have a question so uh react say that fountain is external application and that spring boot application
00:54:20internal application so how you are managing the sessions once the one or any usual try to log in
00:54:27tokens tokens so every user will have the token generated and then the token will be stored at the
00:54:34token store not in the browser store token store so react will have a redex store of course which is
00:54:40using the browsers in memory and then the token will be stored at the react side so every time the token
00:54:45will be exchanged with our backend microservices so here the api gateway will validate the token first
00:54:52the token what it is passing to here first it will check with the token is in our cache yes token is in
00:54:58our cache then we'll check the validity of the token yes then check the uh you know what are the rules
00:55:04permissions and all associated with this token by these three checks the call will be allowed to the
00:55:10underlying microservice otherwise the call will be rejected so it is stateless not stateful so in
00:55:17stateful what the cookie or maybe the session id is the uh exchanging between the backend and then
00:55:24the front end but here stateless it is there is no cookie there is no session only thing is what the
00:55:29token token is the identifiable part of the user's identity got it yeah first it will verify with the
00:55:38token then it will pass through the spring security is that correct correct spring security is correct
00:55:43spring security only if the token whatever that generated the token generated the token will be
00:55:49validated by the spring security there will be a security context holder so security context holder of
00:55:54the spring security will verifies if the user is authenticated or not based on the token status okay thank
00:56:01yeah any more questions for me do we also use mfa yes multi-factor authentication we will use in only one
00:56:13scenario that too we will take the help of the wso2im so wso2im will take and then we have the uh you know mfa
00:56:23facility here and then we'll ask the user to uh have the um maybe google authenticator or maybe some uh
00:56:34rt or some some apps are there so maybe we will we'll ask the user to show the extra identity uh
00:56:41this is not for all the cases but in the cases when the user is doing the payments and all we'll go for
00:56:46the mfa authentications multi-factor authentications yes mfa is is in our project which was not there
00:56:53earlier in the jrtp1 and now i'm going to implement here in the jrtp2 and also payment gateway integration
00:57:00with the paypal or maybe the paytm so paytm also given a uh you know the sandbox for us so we can
00:57:10integrate the payment gateway with the paytm as well so payment integrations were not there in the jrtp1
00:57:15but now jrtp2 have the payment gateway integration as well got it any questions any more questions
00:57:24great so yeah if we're done for the day then thanks a lot so around 12k we need to spend right
00:57:31sir 8k plus three months into ah that that that's true you know 12k is for the coaching and then the
00:57:37three months three months in the sense you can say it has four months so four into 12 000 sorry 1200
00:57:42around so it's like five five thousand so thirteen thousand is overall your your investment in this
00:57:48course 8 000 is for uh coaching and then the around three to five thousand is for your infrastructure
00:57:56maintenance so that again you have to pay the infrastructure maintenance so you need to pay for
00:58:02us timings are every day same 8 15 a.m to 9 15 a.m so going forward maybe 8 a.m to 9 30 i'll i'll make it
00:58:10by by doing the progress and all so i'll i'll i'll take the decision but for now at least for coming
00:58:17uh two to three weeks uh it will be at 8 15 a.m to 9 15 a.m okay fine so thanks a lot this definitely
00:58:28will help you this product 100 will definitely help you you will learn a lot of new new things
00:58:34you can't believe in the jrtp1 the guys who have the nine years of experience seven years of experience
00:58:40five years of experience four years of experience so those guys were joined um you know i'm so happy
00:58:48that they they recognize the value of this this uh quotes and all i mean what i mean to say is um you
00:58:54know no matter what is your expect experience but if you haven't experienced with the microservices
00:59:01architecture yes you can come here and then join whether you are a fresher or you are an architect
00:59:06no matter okay right so thanks a lot guys yeah obviously weekends extra what we'll take based on
00:59:13the need and all based on our progress are we are we right track or you know are we delaying or we are we
00:59:22lack behind the you know deliverables estimations then we'll take we'll spend extra hours in the weekends
00:59:29yeah any questions sir um as some i'm not aware about the aws so uh will i will able to cope up
00:59:41uh yesterday i told one thing actually so aws my previous batch videos i will share so not all the
00:59:48videos what we will use in the aws is the aws account creation im service and then the ec2 and then the vpc
00:59:58vpc route 53 certificate manager and then auto scaling load balancer these six or seven services
01:00:06videos i will share for you guys so just go through them and also we will set up from the very scratch
01:00:14right meaning we will create a user in the iam and then we will create the vpc so no need to worry you
01:00:21can you can you can you can go through along with me and then you can practice then you will get to
01:00:28know how to how to use the service send off no no extra attention or no extra uh extra time you need to
01:00:34spend nothing not required just as part of our infra setup you learn all these things no need to worry
01:00:42fine okay and first first we will cover back end or first we will cover uh front end so first back
01:00:48end first back actually earlier what i did you know back end first i focused on the complete back
01:00:53end then i came to winning in fact not integrated so in the next week the coming weekend uh we're
01:01:00going to integrate with the reactors but this time i would like to change the fashion that means what
01:01:04you know first let us implement the backend microservices let's say our first services user
01:01:10management service then let us integrate it with the reactors so side by side let us go
01:01:15okay yeah one way that is better actually one service is completed do the unit testing do the
01:01:22integration testing and then write the test scenarios do the unit testing do the integration testing once
01:01:28exceptional validations once everything is perfect then go to the ui side and then do it maybe
01:01:34for a service design and implementation it may take 10 days to 15 days or initially for one or two
01:01:42services it may take 10 days to 15 days but later on time the time may be minimized in one week we can
01:01:47complete one service but initially it will take 10 days to 15 days to complete one service when designing
01:01:53one service and then the integrations all these things will take minimum 15 days that means two weeks
01:02:01no kubernetes guys no kubernetes only darker kubernetes is out of the syllabus and the kubernetes
01:02:08if you want not if you want you can join anywhere or i'll also um you know usually publish the kubernetes
01:02:16courses at the weekend so you can also join there okay can i go for interview after two weeks no gopal
01:02:22you can't go for interview after two weeks because in two weeks what we what we completed you know what
01:02:27what we will complete in just two weeks so it is not it is not the time to go for interview only after
01:02:33two weeks you can go after at least sir after after the completion you will give us the interview
01:02:38question right like what other what other questions can be can be asked if i will put this as an
01:02:45interview okay i will share one interview interview book actually so if you follow this that most of
01:02:54the interview questions will be covered during our session only and a couple of questions may not be you
01:03:00know i may not have the attention on them you can go through and then refer in the notes meaning the
01:03:05book i will give so you can take a hard copy of that book and then refer every time so by the end of
01:03:11this course um everybody should have to get the offers guys so in in the jrtp1 almost all the guys
01:03:17whoever are attended the interviews they got the offers so that is what the target 100 you will get
01:03:23the offers and all there's no code there is no doubt about it the only thing you need to focus is on
01:03:28the core java part so that you can take care of like jdk 1.8 features jdk 17 features and then you
01:03:34know all the java programming and all you just take care of it but these um springboard microservices and
01:03:42then the spring cloud darker real-time project all the things will be covered as part of your project
01:03:47implementation fine fine so uh kubernetes yeah kubernetes is not here um yeah yeah so kubernetes
01:03:57is not here kubernetes will be you know separate codes um yeah seanu paying 3k extra than previous
01:04:05batch can you give kubernetes we will we'll see about it i mean maybe the time is the matter so
01:04:10first let us achieve our our primary goal then from there we will take it up okay right and sir
01:04:16please keep the timings as 8 15 that would be fine correct oh okay okay okay that's okay that's okay
01:04:25what i'm thinking you know maybe the people will start to the offices by the 9 15 or maybe 9 30.
01:04:30so if we can shift it to the 8 a.m maybe 15 minutes ahead that might be helpful is what i'm thinking but
01:04:37that's okay okay the 15 doesn't matter right so if we sharp start by the 8 15 you know 9 15 or 9 is
01:04:43good enough for us at least in the weekdays okay okay so gopal you can attend the interviews minimum
01:04:50after the after the minimum 30 days okay and chiru um congratulations you know you you said you got
01:04:58selected in the nissam can you give some tips also maybe this is not the right platform to discuss
01:05:04about the tips if you want you can bring me in the telegram channel personally okay thanks a lot
01:05:09guys and then thanks for the opportunity given to me to showcase you know my course content uh you
01:05:15know my thoughts and all on the microservices architecture hopefully see you tomorrow and then
01:05:20we'll discuss more thanks a lot signing off for today and thank you sir thank you thank you
Comments