
Senior Software Developer with over 6+ years of experience, specializing in React.js , Typescript and Node.js development. Worked extensively with React.js across multiple projects, including e-commerce platforms, social media apps, and virtual meeting solutions. I have demonstrated proficiency in Next.js, utilizing it alongside React for enhanced performance and SEO optimization. My expertise extends to state management with Redux, UI frameworks like Material-UI and Tailwind CSS, and testing frameworks such as Jest and React Testing Library. Full-stack capabilities and experience with modern JavaScript frameworks make me a valuable asset for building robust and scalable web applications.
Senior Software Engineer
Technomatz IT SolutionsSenior Software Engineer
Careator TechnologiesSenior Software Engineer
EmpplanSoftware Engineer
Bestpeers Infosystem
Javascript

Reac JS

Node JS

React

Redux

Typescript

Redux Thunk

Next.js

Express

MongoDB

MySQL

Material-UI

HTML5

CSS3

LESS
.png)
Firebase
.jpg)
Web API
.png)
Docker
AWS (Amazon Web Services)

GCP

Firebase Realtime Database
Jira

Trello

Asana

Teams

Skype

Zoom

Nginx

Git

Bitbucket

GitLab

GitHub

Jest

Mocha

Strapi

Twilio

Stripe

MailChimp

Digital Ocean
.png)
Heroku

GCP

AWS

GCP

Twilio

Stripe
.png)
Jenkins

Nginx

GitHub
Okay. So, uh, my name is Sharad Kumar, and I'm from Ildur, Madhya Pradesh. I have overall 6 plus years of experience in web development where my primary skills are React. Js, Node. Js, JavaScript, TypeScript, GraphQL, Redux. And I'm also familiar with the cloud services like AWS, GCP, Firebase, and others. And, uh, I'm also, uh, familiar with the testing architectures, basically. So, uh, I've used suggest and react testing libraries to write the front end, uh, front end test cases for components, basically. And, uh, after that, uh, on the back end side, I've used Mocha for writing the test kit on the back end side APIs, basically. So, uh, that's how I'm familiar with the, you know, uh, testing architectures. And, uh, talking about my project, so I've worked on around, like, 15 plus projects, which is using React as a front end technology. And out of 15, 7 to 8 projects are using Node. Js back end technology. So on that project, I am working as a full stack developer. And my roles and responsibility is to, like, uh, uh, create the components working on the features on the front end side. And for the same components and the features, I need to create the APIs on the back end side as well. And I need to connect both front end and the back end using React and the Node. Js. And I'm also familiar with writing the queries of the MongoDB and SQLs as well. And, uh, talking about the projects which I am currently working on, it's a cool app in here. It's basically a social media platform. It's more for Indian people. It's same as Twitter, basically. So where the Indian peoples post their thoughts without any language barrier, they can post their thoughts and, uh, their own local images. They don't need to worry about the, uh, you know, language translations or the language barriers. They don't need to worry about that. So I'm my roles and responsibility on, uh, that project is like, uh, I'm handling the team of front end developers, basically. I'm handling a team of 4 to 5 members. I need to review the code. I need to assign them task. And if they need any help, I will be work with that as well. And, uh, I need to connect with the business team sometimes. I need to, uh, take a call with the product managers on a daily basis to give the updates related with my team and the works which assigned to us. So, yeah, that's a little bit about me.
Okay. So, uh, catching data in the node JS side, um, it's a good approach for, uh, not calling the APIs again for the same data. And, uh, we can use Redis on the back end side. On the node j sides, we can use, uh, Redis implementations. And Redis is basically, uh, cashier database. So, uh, we just need to, uh, configure the Redis on the back end side for the some some of the APIs. Or if you want to applicable for that, all of the APIs, and which we want, uh, to, you know, not to request to, uh, database database queries every time because it's the data is not updated frequently. So we, uh, put that data into the Redis. So user, uh, request to the node. Js servers, and it will get the data from the Redis database. It's not hit the API or the query to the Mongo database or any real, um, any database like MySQL or Postgres. So, uh, that's how we can implement the caching on the back end side for the React front end as well.
Okay. So, uh, talking about the memory leaks on the notes here sides. Okay. So memory leak work what is the means of memory leak first? Okay. So memory leak is nothing but a data leakage on the back end side. Okay? Someone, uh, like, sometimes, like, uh, due to some variables or creations, We found that, like, uh, that variable is not using at all and on the back end low back end code base. And we are just giving assign that um, memory to that variables because we are not using a garbage collector on the node JS side. So that's why that, uh, memories are assigned to a variable which is not accessed or which is not usable on the back end side or the code base on the back end. So, uh, we we just need to avoid to create a variables using lat and cons. We we cannot, uh, we cannot create, uh, global level variables, uh, for our functions or for our internal, uh, APIs, basically. So we just need to use const and and let variable declaration. So it will be, uh, a block label scope, basically, for the let and without cons. So once the function use is complete, uh, that variable memory will be, uh, reassigned back to the, uh, CPU or the memory, basically. So, uh, that's how we can prevent, uh, the memory leaks on the back end side.
Okay. So, uh, basically, if we need to do, uh, role role based, uh, uh, role based, uh, access control in our Node. Js application, so we need to, uh, assign one key, uh, on our users, uh, table, basically. So we can assign the role key in our user database, and we can assign just, uh, the role, basically. Like, what type of role we need to, uh, manage in our Like, we have admin. We have user. We have client. Okay. So we, uh, we can just create a for that, and, uh, we will assign that, uh, particular role when we are creating a user to that, uh, user. Basically, we can assign a role like admin client and user. So, uh, once that role is created, so we need to manage that, uh, role based access in our applications. Okay? So what we can do is, like, we can create, uh, we could create 1 common functions for checking the role. And, uh, according to that, we have the access. So we just need to, uh, add a condition. So we just need to create common functions for checking the role access. If, uh, we just need to put that into the middleware as well, like, uh, at the time of, uh, you know, calling the APIs or the calling the controllers from the routes on the back end side. We just need to put that function into the, uh, middleware. So it will be checking the rules every time once, uh, the API hit from the front end to back end. So it will be checking that function, uh, which is checking the authorization access of the user, basically, to access that controller or not. So that's how we can, uh, manage the access based control on the note
Okay. So, uh, if, uh, okay. So cross origin request. We we basically need to avoid the cross origin request to our back end server, basically. So what we can do is, uh, we can use a course library to avoid that course origin errors in our applications. So we can just put, uh, URLs, which can only access the, uh, backend servers. Okay. So we can create a constant for that URLs, basically, and we can pass that, uh, uh, array, basically. The the reorders array, we can pass that into the course options. Okay. So we can just create applications using the express app. Uh, we can call the app dot, uh, gosh. And inside that, we just need to pass the list of the URLs, which can access our database, uh, from the front end, basically. So that's how we can manage our calls origin request on the back, uh, node JS applications. We can use a call as well.
Okay. So, uh, for managing the session on the note a side, like, we we need to understand, like, first how the session is working. Okay. So session is basically, like, once the user comes to use our application. So we create a one session for that users to, uh, you know, use our application APIs or the back end, uh, back end, uh, controllers and the request be backend APIs, basically, for getting the data and the storing the data. So what we can do is when the user sign up or the login into our applications, we can generate a token. And, uh, using that token, we can manage a session of that users on that particular browsers. So that token is comes into that every request which is coming from the front end to the back end. So we just validate that token is very, um, very validate or not. So we we just need to add that, uh, we can create a function like, uh, is authorization check, and we can, uh, check that token is valid or not using so token management, we can use a JWT, and we can just verify that token is valid or not. So what we can do is, like, we can create a function, is authorization already, and we can put that function into the all the middle pairs. So we just put that into the request, which needed, uh, authorization check, basically. So we can we can, uh, use that function inside the at the place of the middleware where, uh, we are managing our routes, basically. So that's how we can manage a session, uh, in our application.
Looking at this Node. Js code, and you can spot potential issue with the way of query database. Function is implemented. Please Okay. So, uh, basically, uh, we, um, uh, I've checked the code and found that, like, we are receiving a promise as a response while, uh, calling a query database. So we just need to, uh, you know, use a dot then to convert that, uh, response into the JSON object as well because that user's data is coming as a JSON object, so we just need to use one more time for converting that to the, uh, converting that response into the object response, basically. So we just need to use one more than inside the query database. So where we, uh, get the users uh, users as a JSON response. And one more thing which I have found is, like, we can connect we can create a connection at in in different functions. Also, uh, we can avoid to create a connections in every, uh, every functions which we are creating in our uh, code base, basically. So we just avoid that connections from, uh, query database functions to, uh, other places. Well, we can just use that, uh, in other way as well. So that's how we can, uh, fix the issues.
Okay. So, uh, uh, if we be if we need to, uh, you know, work with the batch processing in the Node JS site, so there is, uh, Node JS task Node task library is available in Node JS. We can use that Node task for, uh, you know, uh, managing our batch processing jobs. So what we can do is, like, uh, we can, uh, create a task and we can, uh, create a one functions for handling 1 batch process. And we can create a, you know, um, another function, another task notice task for managing, uh, other batch request. Okay. Or we can also use the Lambda functions of the AWS for managing the large base, uh, large scale batch processing also because that are the serverless functions. We just need to create 1 more connections, uh, 1 more connections, or we can create a 1 more server. So, uh, it will not, uh, you know, it will not it will be running, uh, on the cloud, basically. Cloud servers, basically. It will not needed our server to run that batch task, basically. So we just need, uh, need to create the Lambda functions, uh, for managing the, you know, multiple batch processings in our applications.
Okay. So what type of methods we are using, uh, to scale our applications? So we have, uh, you know, 2 types of scaling, uh, strategies. 1 is vertical scaling and the other one is horizontal scaling. Okay. So if we are go with the vertical scaling, so we just need to, uh, you know, increase the size of the servers or the memory size of the servers, which we are using currently. So we just need to increase the RAM and the room size of the current server. Okay. So if we are go with the horizontal scroll, uh, horizontal scaling, so we just need to add 1 more machines or 2 more machines for handling handling the zero time in our application. So I will go with the second approach, which is a horizontal, uh, horizontal scaling. So in this approach, like, what we are doing is, like, we are creating 1 more server. Okay? With the same Emily size and the same, uh, same CPU size as well. Same red rim size as well. Okay. So we can create 1 more or 2 more servers. So, uh, we can deploy our applications. Like, we can create a gateway. So, uh, the other services, we can we can follow the microservice architectures architectures on the AWS and GCP. So AWS provide the, by default, router, gateway routers, which is managing the services on the different different servers, basically. Okay. So the same thing GCP is doing with the Kubernetes. So we can, uh, also use the Kubernetes of the GCP for managing our servers to, uh, manage our different different services. So it will, um, give us the zero downtime because if any services is break, it will not affect the whole application. So that's how we can avoid, uh, we can scale, uh, our application as well, and we can avoid, uh, we can also follow the zero downtime, uh, during deployment something deployment as well. So that's how we can, uh, manage or, you know, scale our applications.
Okay. Suggest improvements for React Native application performance observed on low end mobile size. Okay. So low end mobile size, I don't, you know, uh, like, pretty sure about that. Like, what is the low end mobile size if we are talking about the responsiveness of the, uh, mobile size in the low end mobile size, something like that. So, uh, for the responsiveness, if you need to manage that performance related issues on the low, uh, low mobiles which have, uh, you know, less memories or something like that. So we, um, what we can do is, like, uh, we, uh, at the time of, uh, you know, uh, writing a component in our React Native applications, we we can just, uh, you know, give the name of that mobile which is not supportable by us. So, uh, if they if the, you know, the application is faded on the those mobile, so we can just avoid that. Like, we are not operating on this type of mobiles and this type of, uh, responsive, devices, basically. Because if we are, uh, you know, writing our code and implement our components according to, uh, that device, so we need to write a extra code for that as well. Or if if it is compulsory, so we just need to, uh, write some more components, uh, some extra components to handle that uh, thing on that particular low end mobile sensor. So that's how we can manage, uh, to, you know, improve our, uh, react performance basically on the low end mobiles to create a new, uh, components which will not affect the other components. It will only render for the low end mobiles. It will not render for the high end mobiles, basically.
Okay. Talking about the Vojisco. Okay. So okay. So, basically, like, Vue is following, uh, two way data flow binding as well. Okay? So, uh, that is a very important architecture as well. Like, a two way data binding is there in the Vue JS. So we can, uh, you know, uh, move that to the okay. So oh, this improvement. Okay. So we can, uh, go with, uh, some documents basically when we are working with the. So we just need to, uh, follow the best architectures architectures for the code base, basically. Okay? So suppose if we are following the MVC architectures. Okay? So we need to create a proper model view and the controllers in, uh, in, uh, in. Also, we need to create the folders for the helper files and the utility folders also we need to create. So what we need to do is, like, we need to, uh, move the view code, uh, view part into the view folder, basically. Model part inside the model. And the controllers are managing basically managing the server side of the port, uh, inside of UJS. So that's architecture we can follow while, uh, working with the Vue JS code base. So it will be pretty good to, uh, maintain and everyone needs familiar with the MVC architecture. So we can go with that architectures while working with the Vue JS code base. Thank you.