
LEAD ENGINEER
BROADCOM(HCL PAYROLL)Kongsberg Digital
Development EngineerLead Engineer
HCL TechnologiesTECHNOLOGY ANALYST
INFOSYS
Angular

Azure DevOps

GitHub

PostgreSQL

Trello

Slack

AWS

Google Cloud
.png)
Docker

VS Code

Kubernetes

Git

Jasmine

Karma

Thymeleaf

ExpressJs
Representational State Transfer (REST)
HTML
Webpack
Responsive Web Design
Bootstrap
Azure DevOps
Slickgrid
Angular 14
Continuous Integration and Continuous Delivery (CI/CD)
Cascading Style Sheets (CSS)
JavaScript
REST APIs
INT
SQL
HTML5
NgRx
XMPP
TypeScript
Front-end Engineering
Angular 16
Hello. So, hi. I'm Davosish Sahoo. I have around 8 years of experience finally. I started as a Java developer in Infosys. So after a year in Java development, I moved to front-end development. So I have experience in Python, JS, and Angular JS and Angular 2 plus. I have worked in version 15 of Angular. The organization I'm currently working in is my third organization, and here I'm working on an all-in-one domain project. So, here I'm working in Angular 15. The back-end is in.NET. I have a very slight touch into the back-end also. I have done a few things in.NET. So, we are using Azure DevOps. I am also maintaining the C# pipeline. The current project is all about the project I'm working on.
My preferred method to managing state in an Angular application would be NGRX. Because, with NGRX, we can execute the immutable actions. Like, whatever action we are executing, we can make sure that it is executed. For example, in the current project, we receive a high amount of data from the backend. And with the data, we are plotting different kinds of graphs. Also, we have a provision in the frontend to change or modify the data accordingly. So, let's say if we are doing some action which does a bulk change, let's say it adds a risk to all the data. So before we execute some other action, we need to make sure that this action is completed so that we are doing some action on a stable data. So, for that, we are using NGRX, so that we don't get any conflicts.
In Angular, to ensure components communicate efficiently, there are multiple ways. Like, if there is a relation, like parent to child or child to parent. So with parent to child, if we want to pass some data, we can pass it from parent and receive it in the child with the @Input decorator. Same way if we want to pass some data from child to parent, we can pass it with an @Output decorator to any event emitter. And we can omit that with the @Output decorator in the child. We'll use it back in the file. Also, from parent to child, we have a view child, so at the ViewChild decorator. With that, we can access the data in the ngView lifecycle hook. Also, if there is no relation to parent to child relation or child to parent relation, we can use a service to exchange the data or have the data in the service and both parent and sibling components or the components which don't have any relation among them can access the data which are stored in the service, provided it's a singleton service in those components.
To create a custom form that you did in your application, you can use reactive forms. So in reactive forms, whenever we are creating the form control, in our form loops, whenever we are creating the form control, there we can pass the validators. So in that, we can pass the custom validator. That's the same way we are passing predefined validators, like required. So the same way we can pass the custom validator to the form.
To integrate it as an API, we can move the backend. We just need an STP client. So let's say, for example, if it's a standard and component, so we just want to mention its TTP model in the main of TS, and in the component, we can access some API. The API calls will normally be in services or in components. So, we'll have the SCTP client access in the component and services. So from there, it's good then.
So in this question, we need to see a response which has a structure. The response whatever we have, we need to make sure the rule in the response is a string because again we are not converting if it is not a string, the rule needs to be a string too.
So the catch error will be giving every option one of.
To create a highly reusable component library, first, we need to do is have components in a modular structure, where each component should do a single unit of task. We shouldn't burden each component with multiple units of task. Every component should have a single unit of task so that we'll have small, independent components. And with that, we can create a library. Yeah, that would make it reusable. Also, having standalone components is a plus point, making the components usually reusable.
So it's to handle exceptions globally in modularity, we can have the component too. So, we can pass the exceptions. And in the component, we can have some checks, like, for what kind of exception. If there is some particular kind of exception and we are showing we want to show some particular information for that exception, we can have that in that component and also with some default information. Like, let's say there is some exception, which is an unexpected exception we are getting. For that, we should show some default info index.
To leverage, see, flex and grid structure in Angular, whether in Angular or some other framework, actually. So, flex and grid structure is actually going to give us easily, I mean, it is easy to create responsive design also. I mean, the functionality of GEDL is also of the flex and grid structure is also very clean. So, yeah, so we just need to mention that display flex and the flex properties, like the flex direction and flex. We have flex direction in there. So we can accommodate components if there are multiple components in it. We are showing in a single plate. If in a component, we are showing multiple information, let's say, a table. So all those we can easily accumulate with flex and grid structure.