profile-pic
Vetted Talent

Shrayansh Mani Tripathi

Vetted Talent
Motivated software developer experienced in Frontend development with React and Backend development using JAVA. Seeking an opportunity to contribute my skills and expertise in collaborative team environment, working towards creating cient and user-friendly software solutions. Dedicated to supporting the company's vision and goals through continuous learning and innovation.
  • Role

    Software Developer

  • Years of Experience

    3.67 years

Skillsets

  • RabbitMQ
  • Springboot
  • ReactJs
  • NoSQL
  • Nodejs
  • MongoDB
  • Microservices
  • Microfrontends
  • Jira
  • Confluence
  • CI/CD
  • JUnit
  • JavaScript - 2 Years
  • Hibernate
  • Redux
  • CSS3
  • HTML5
  • Java
  • Jest
  • Git
  • Jenkins
  • MySQL
  • AWS
  • JavaScript - 2 Years

Vetted For

11Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Full Stack Developer - (PHP Laravel/React)AI Screening
  • 81%
    icon-arrow-down
  • Skills assessed :REST API, SCORM, Web sockets, React Js, AWS, Docker, HTML / CSS, Laravel, MySQL, PHP, Tailwind
  • Score: 73/90

Professional Summary

3.67Years
  • Nov, 2021 - Present4 yr 6 months

    Software Developer

    Atmecs Technologies

Applications & Tools Known

  • icon-tool

    Figma

  • icon-tool

    Git

  • icon-tool

    Jenkins

  • icon-tool

    AWS

  • icon-tool

    Confluence

Work History

3.67Years

Software Developer

Atmecs Technologies
Nov, 2021 - Present4 yr 6 months
    Evolved from an eager enthusiast to a proficient Full Stack Developer with expertise in ReactJS, NodeJS, Java, and Spring Boot. Played a pivotal role in multiple projects, notably in Payments and Fintech domains. Contributed to the development lifecycle of web applications, delivering seamless user experiences and robust functionalities.

Achievements

  • Designed and developed an interactive user pro le system with role-based access, leveraging ReactJS, React hooks, and Redux for state management.
  • Implemented powerful search feature using React hooks,
  • Collaborated with the backend team to optimize application performance and database queries,

Major Projects

2Projects

Finvi Oasis Microfrontends

    Developed and maintained web modules using ReactJS, Redux, Java, and Spring Boot. Designed and implemented responsive web interfaces and collaborated with cross-functional teams for business requirements.

Finvi Payments

    Contributed to the development and upkeep of dynamic web applications using NodeJS and ReactJS. Orchestrated the creation and deployment of RESTful API web services and employed NoSQL databases like MongoDB.

Education

  • Bachelor of Technology

    MIT ADT University (2020)
  • Post Graduate Diploma in Advance Computing

    CDAC (2021)

Certifications

  • Python with Data Science (05/2020 - 07/2020)

  • Post graduate diploma in advance computing

AI-interview Questions & Answers

Yeah, so I mean myself, Shans, I'm from, and currently, I'm working at Next Technology since 2.7 years. Here, I'm working as a PHP and React JS developer mostly on the developer side. The project I've done multiple projects in this company, and there have been several projects. So, my first project was full stack only, and the second one was entirely in React JS. And the third one, I'm working on as a full stack myself. I got placed in this company from CDAC. I've done a postgraduate diploma in CDAC. From there, I got placed. Explaining about my project, my project is a Fintech application. It's a debt collection app. Currently, there are several parts in that. The strategies, agent, and consumer parts are using React JS and DSP and ASP.NET. And so, how it works is, suppose the consumer is there and wants to upload some details and personal details, and it will be accessed by the agent. If the agent finds out the details of the consumer, they will contact the bank, and the bank will coordinate with the 3rd party partners. The 3rd party partners will then coordinate with the agent, and the agent will assign some details of the consumer. So, it basically works as a bridging the gap between the consumer and the bank. So, when a consumer is having debt, by asking the bank how much time it will be needed to be paid, it works in that environment. I have good knowledge on React JS, Node JS, and PSP also.

Larvik, Larvikue System, facilitates background processing, and AWS is a service. You would complement it by using Larval, which is a queue system that facilitates background processing, like a background system that facilitates background processing, such as AWS Simple Queue Service (SQS). SQS allows you to decouple and scale microservices, distributed services, and serverless applications. To complement this, you could use AWS Lambda, which allows you to run code without provisioning and managing servers, making it ideal for processing tasks from a queue asynchronously. Suppose you want to complement SQS for background processing, AWS Lambda is an excellent choice. Lambda allows you to execute code in response to an event, such as a message being added to a queue. By connecting SQS with Lambda, you can trigger a function to process messages from the queue. Automatically, Lambda manages the execution environment, scaling, and resource allocation, so you don't have to worry about server provisioning or management. This combination provides a powerful and scalable solution for background processing in cloud-based applications.

Maintaining a cohesive design system in a React project using Tailwind involves several key components, including componentization, breaking down your UI into reusable components that encapsulate specific pieces of functionality or visual elements, making it easier to maintain consistency across your project. Atomic CSS classes are used in Tailwind CSS to apply styles directly to elements. You define a set of utility classes in your design system for styles like typography, spacing, and colors, ensuring consistency and allowing for easy customization. Configuration is also crucial, as Tailwind CSS allows you to customize the default theme to match your design system, branding, and styling preferences. You can define your color palette, typography, scale, spacing, and utility classes, as well as utility composition to create custom styles for components instead of writing custom CSS. Documentation is also important, as it involves documenting your design system's component patterns, usage guidelines, helping developers understand how to use the design system effectively and promoting consistency across the project. Versioning is used to manage changes to your design system, and testing is also essential, with visual regression testing implemented to ensure that changes to components don't introduce unintended styling differences. Tools like Storybook can help by creating a visual library of your components and streamlining the testing process.

What approach would you take to migrate a legacy PHP code base to Laravel ensuring minimal downtime? So, migrating our legacy PHP code base to Laravel while minimizing downtime has many steps we can do. Planning, like, assessment and planning is essential. We need to evaluate and assess the existing PHP code base to understand the architecture and dependencies. First, we need to identify the parts of the code base that can be migrated to Laravel incrementally. Then we can set up the Laravel environment alongside the existing PHP application. And, like, ensure both applications can run simultaneously without conflict. In incremental migration, we start by migrating small, independent modules or functionalities from the legacy code base to Laravel and refactor them to migrate modules to Laravel conventions and best practices. If feasible, we consider creating an API layer on top of the existing PHP application to expose the functionality to the new Laravel application. Gradually, we replace the frontend components of the PHP application that consume data from the Laravel API. We migrate the database schema and data from the existing PHP application to Laravel, ensuring data consistency and integrity during the migration process. We implement the data migration script to handle schema changes and data transformation, and integration and testing. We integrate the migrated modules with the existing PHP application to ensure seamless functionality and gradual rollout. Once the migrated modules have been thoroughly tested and validated, we gradually roll out the changes to production. We monitor the application closely during the rollout phase and identify any issues or performance bottlenecks. We implement feature toggles, and after that, we continuously improve, iterating on the migration process based on feedback and lessons learned. So, continuously refine and optimize the Laravel code based on group performance and ability.

How AWS service would you choose for hosting a Laravel application and why? So, for hosting a Laravel application, we use Elastic Beanstalk. Why? Because easy deployment is there, and Elastic Beanstalk simplifies the deployment process by providing a platform as a service environment that automatically handles deployment and scaling, as well as the management of your application. You can deploy a Laravel application within just a few clicks, and scalability is also a factor. Elastic Beanstalk automatically scales your application based on the traffic pattern, ensuring your Laravel application can handle varying levels. It can automatically provision and scale resources such as EC2 instances and a load balancer and database based on demand. And Elastic Beanstalk provides a managed environment for your Laravel application, including pre-configured web servers and a load balancer. Elastic Beanstalk integrates seamlessly with other AWS services such as Amazon RDS for database hosting, Amazon S3 for storing static files, and it's cost-effective. Elastic Beanstalk offers a pay-as-you-go pricing model, allowing you to pay only for the resources you use.

What are the benefits of using Eloquent ORM in Laravel for database interaction over using raw SQL queries? So, like, using Eloquent ORM offers several benefits, such as simplicity and readability. Eloquent provides a fluent expressive syntax for interacting with the database, making it easier to write and understand database queries. With Eloquent, you can use initializer methods and relationships to perform operations without writing complex SQL queries, and database abstraction is there. Eloquent abstracts away the underlying database layer, allowing you to write database agnostic code. This means you can switch between different databases without changing your application code, and Eloquent integrates well with the MVC architecture. So, Eloquent integrates similarly with a Laravel MVC architecture, allowing you to define database models that represent your application's data structure. Eloquent automatically generates SQL queries based on your method calls, reducing the need to write repetitive and error-prone SQL code. This simplifies query construction and helps to prevent SQL injection vulnerabilities and relationship management. Eloquent provides built-in support for defining and managing relationships between database tables, such as one-to-one-to-many, and many-to-many, and an object-oriented approach. Laravel models represent database records as objects, allowing you to interact with them and use object-oriented techniques. This makes the code more concise, reusable, and easier to maintain compared to procedural SQL code. Eloquent also includes a query builder interface that allows you to construct complex queries using method chaining.

In this MySQL query snippet used within PHP application, can you point out any aspect that might lead to efficient database performance or potential, security vulnerabilities. So for this, So, like, SQL injection variability, like, the code is vulnerable to SQL injection because it directly intercolates the user input, that get the email, into the SQL query Without proper sanitization or parameterization, attackers could manipulate the email parameters to execute arbitrary SQL command leading to database breaches and database, manipulation. Concatenation error. there is syntax error in SQL query, due to improper concat, and the variable user email is not properly concatenated into the query. So it's like user e I mean, camel case should be there and this would reserve I mean, and wildcard selection. The query user select star to retrieve all columns, from the user table while the convenient, selecting all columns can result to unnecessary data retrievals, which can degrade the performance. It is better to specify only the required column in the select statement, and input validation is there. The code does not perform any validation on email parameter often, like, from the get. it is essential to validate user input to ensure, it meets expected criteria and database connection, like, the, means dollar connection variable is assumed to valid MySQL database connection and ensure that connection is properly established. So we can, revise the snippet code, like, user input, validated or sanitized using filter input function, and, parameterized query is used to prevent SQL vulnerabilities, and the only necessary columns, can be selected. Error handling is included can be included.

So for this question, What could be the issue with this React class component snippet that is meant to update the user profile data once save button is pressed. Note any anti patterns and explain how it could be improved for a better estate management. So for this purpose, So the fuse whose, like, anti patterns are provided in the React class components, like, state, initial initialization. The state object is empty in the constructor, and the user object is assigned, directly from the props. While this may work, it is generally not recommended to directly mutate the props in the state. It can lead to, like, unexpected behavior and make your component harder to, reason about, like, in a instead initialize the state with the props directly. so unused state. The user object in the state is not being used, anywhere in the component. Like, it seems like intention is to use it for updating user data, but it has not been utilized in the handle safe. And, so means, missing input field. There is no input fields or form elements provided in the render method to allow user to update their profile data without input field. User won't be able to interact with the component to update the information, and limited state management is there. The component state is not being updated anywhere, like, which means, there will, there is no way to reflect changes made by the user in the UI. updating the state with the user input is crucial for keeping UI sync. So we can, we can do this by, when, sir, we can, create a constructor. constructed props is how it is there. But in the handle input chain, we can create and that, name and value as a props we can pass. And on the target, of the previous state, we can change it and then handle save function we can do. And, we can, you, alert means, the same way it has been done here, handle save. We can do that, and, then we can use the unused state also in the return, function, like, input will be there and username will be there. And on change of, in, means input change, input, whatever will be there on change, but then we can click on the handles here. So we can do in that way.

How do you apply the solid principal in a full stack Laravel, React application to ensure high quality code? So applying single responsibility principle, like in Laravel backend, each class or component should have only one reason to change. In Laravel, this means separating concerns such as routing, controller, service, and models. And for the frontend part, similarly, React components should focus on rendering UI, handling user interaction logic related to data phasing, state management, and side effects should be separated into hooks. And, the open-closed principle is there. OCT, classes, methods, or components should be open for extension but closed for modification. In Laravel, you can achieve this by using interfaces, abstract classes, and dependency injection to allow for extensions through inheritance or composition without modifying existing code. And, in React frontend, components should be designed in a way that allows them to extend or reuse without modification. This can involve using props for configuration and composition, and higher-order functions or higher-order components. And, the Liskov substitution principle, we can use, in Laravel backend, subtypes should be substitutable for their base types without altering the correctness of the program. This means the derived class should add to the contract defined on the base classes. In Laravel, this involves ensuring the subclass can be used interchangeably with their parent class. And dependency inversion is for Laravel backend. High-level modules should not depend on low-level modules. Both should be dependent on abstraction. Abstraction should not depend on the details. Details should be dependent on abstraction. In Laravel, this can be achieved through dependency injection, where dependencies are passed into classes rather than created within them. And, for frontend components, they should be dependent on abstraction, such as props and context, rather than concrete implementation. This allows components to be easily testable and interchangeable.

Can you demonstrate how to utilize Docker for creating isolated environment for PSP unit testing with PSP unit? So, as your Dockerfile, you can create a Dockerfile in the root repo directory to define a Docker image, using an official PSP image as a base. Use and install composer for managing PSP dependencies, and then set the work directory inside the container. Copy the project files into the container, and then install the project dependency using composer, and copy the PHP unit configuration file. Set the entry point to the PHP unit, then PHP unit XML. Create a PHP unit configuration file in your project root. Build a docker image, means using the command like docker build -t phpunit. Then we can run the test, run phpunit inside Docker container. Docker run -r -n phpunit. And, this command mounts your project directly to the app inside the container and run PSP unit test. The -rm flag ensures that the container is removed after the execution.

Would you like to know how to leverage AWS services to scale our web application architecture for increasing loads? To scale the Laravel application architecture on AWS for increasing loads, you can ensure high availability and scalability performance. Like, how can we do that? Amazon EC2 is there. So, use Elastic Compute Cloud to host your liable application, deploy multiple EC2 instances across different availability zones to distribute the load and improve fault tolerance. You can configure auto-scaling groups to automatically adjust the number of EC2 instances based on demand. And Amazon RDS is also there. So, utilize relational database services of Amazon to host your MySQL or PostgreSQL database. RDS provides automated backups and scaling high-availability features, allowing you to focus on application development without managing database infrastructure. After that, Amazon Elastic Cache can be implemented to cache frequently accessed data, reducing the load on your database and improving application performance. And after that, Amazon Elastic Load Balancer is there. So, set up a load balancer or network load balancer to distribute incoming traffic across multiple EC2 instances. ELB automatically scales and routes traffic to healthy instances. Amazon CloudFront is there, like, utilize CloudFront, AWS content delivery network, to cache and deliver static assets and dynamic content closer to your users. And AWS Lambda can be considered for serverless computing to offload compute-intensive tasks or background processing for your EC2 instances. Lambda allows you to execute code without provisioning or managing servers, providing stability and cost-effectiveness. By leveraging these AWS services, you can build a scalable and reliable architecture for your Laravel application.