Post Job Free
Sign in

Spring Boot Software Design

Location:
Bridgeport, CT
Posted:
November 17, 2024

Contact this candidate

Resume:

Ajay Kumar Gangineni

Phone:475-***-**** Email: ************@*****.*** Location: Bridgeport, CT, US

Professional Summary:

oInvolved in all phases of SDLC like Designing, Developing, Managing, and testing the application.

oProficient in Java programming, utilizing object-oriented principles to build a scalable backend application.

oDeveloped a RESTful API with Spring Boot, employing Spring MVC and Spring Data JPA for routing, business logic, and data persistence.

oManaged deployment on AWS, including setup of EC2 for hosting, RDS for database, and S3 for image storage. Utilized CloudWatch for monitoring and logging.

oProficiency in implementing multi-threaded applications and in using design patterns like Factory Method, Abstract Factory, Singleton, Builder, Session facade, MVC and DAO patterns in software design

oDesigned and maintained a MySQL schema on AWS RDS, ensuring efficient and secure data storage.

oImplemented and tested RESTful endpoints using best practices for data retrieval, creation, and modification.

oGained experience in deploying applications on cloud infrastructure and configuring security and connectivity between AWS services.

oLeveraged Spring Boot and AWS services to create a scalable backend architecture capable of handling CRUD operations and file storage.

oMonitored application performance using AWS CloudWatch, improving response times and maintaining stability.

oDeveloped using layered architecture, facilitating easy future maintenance and updates

SKILLS

Programming Languages: Java, J2EE, SQL, XML, HTML

Core Java: Data Structures, Collections, Serialization, Reflections, Concurrency/Multithreading

J2EE Technologies: JSP, Java Servlets, JDBC J2EE Frameworks, Spring Core, Spring MVC, Spring DAO, Spring Boot.

Web Technologies: HTML, CSS, XML, React ORM Frameworks: Hibernate, DAO

Database: Oracle SQL, MySQL, DB2 Design Patterns: MVC, Singleton, Factory, Pattern, DAO.

Build Tools: Maven Testing: Junit, Postman Web Services: SOAP, REST

Application Servers: Apache Tomcat IDE’s: IntelliJ Version Control Systems: GIT

Other Skills: Agile, Excel

PROFESSIONAL EXPERIENCE

Software Engieer at Syntactech December 2023 – Present

Configured a Spring Boot project using Spring Initializr, including dependencies for Spring Web, Spring Data JPA, and MySQL.

Organized the project into a layered architecture with Controller, Service, and Repository layers to ensure modularity and separation of concerns.

Created a custom responsive web application to replace a legacy line-of-business web application using React JS.

Developed an entity model class (User.java) representing user data, annotated with @Entity to map to the MySQL database.

Implemented repository layer (UserRepository) interface extending JpaRepository to handle data access and CRUD operations on the User entity.

Developed the crucial process like Streamers and Snaps for data extraction and streaming where in used collections, multithreading I/O a great deal.

Created a service class annotated with @Service to, containing business logic for CRUD operations and handling user data.

Designed and Developed Controller Layer (UserController.java) with RESTful API endpoints using @RestController, providing routes to create, read, update, and delete users. Integrated HTTP methods (@GetMapping, @PostMapping, @DeleteMapping, etc.) to support CRUD operations.

Created and configured a MySQL instance on AWS RDS, setting up database parameters, security groups, and IAM roles to allow controlled access from the backend.

Configured application.properties with RDS endpoint, username, and password for Spring Data JPA to interact with the AWS MySQL database. Developed applications with messaging solutions including Kafka

Leveraged Spring Data JPA to simplify interaction with MySQL, with @Repository handling the data access layer.

Configured database connection in application.properties, specifying RDS instance credentials and enabling auto schema updates with spring.jpa.hibernate.ddl-auto=update.

To store the user data, I have created S3 buckets on AWS to store and serve the user information.

Developed a method in the service layer to upload user information to the S3 buckets and store the data URL information in database for easy retrieval. For easy interaction with S3 I have added AWS SDK for Java as a dependency.

Utilized the Spring Boot’s embedded server and REST APIs to build Microservices for independent services and business functions.

Contained all services using Docker and deployed in AWS with Amazon ECS and leveraged the Elastic Load Balancing. Monitored those services using CloudWatch.

Deployed the backend API to an AWS EC2 instance with an Amazon Linux 2 AMI, configuring the instance with necessary security groups and permissions.

Installed necessary dependencies on EC2, including Java and Maven, to enable runtime for the Spring Boot application. Built the Spring Boot application as a .jar file and deployed it on EC2, setting it to run in the background for continuous access.

Compiled the project into an executable .jar file and transferred it to EC2 using scp. Launched the application on EC2 using java -jar UserManagement.jar, ensuring the backend API was accessible via the EC2 public IP.

Configured Amazon CloudWatch to monitor the EC2 instance’s CPU usage, memory, and other performance metrics. Integrated logging using Spring Boot’s Logback and redirected logs to CloudWatch for easy tracking of application events and errors.

Conducted thorough testing of API endpoints using Postman to verify functionality like successful CRUD operations, image uploads, and database persistence.

Tested user information upload functionality by uploading user details to S3 and verifying URLs were correctly stored in the MySQL database. Ensured that the application could handle concurrent requests and performed basic load testing to verify performance stability.

Linked the JIRA tasks and Git branch directly to monitor the project and keep everything in sync. To keep the project automatically update the Jira issues, I have added a Git branch and Jira.

Used agile methodology in developing the application, which included iterative application development, weekly Sprints, stand up meetings and daily SCRUM meetings. Prepared the detailed documentation on project with detail and business requirements of the project.

Graduate Assistant at University of Bridgeport March 2022 – December 2023

Assisting the fresh-man students to get start with programing languages. How the computer Programming will work.

Assisted group of students to write code in Basic like C and High-Level Language like Java.

I taught the students how to perform the OPPs concepts and file handling. Making the Questions, evaluating and grading the assignments.

Explain the concepts and clarify any doubts the students ask for. Volunteer with the lab assistant in installing and maintaining the software required in the lab.

Coordinate with the professor to deal with the class schedules, relay information and teach a class if necessary.

Provide students with programming and software assistance. I have assisted them to build responsive web pages using HTML, CSS, and JavaScript.

Explained the working process of Relational and Non-Relational Database Management Systems. I have walked them to build Database Management in MySQL workbench. Provided technical support and database management services to academic departments.

Exceled the use of APIs in web development and data rendering. Assisted the new students to develop APIs using Java in Eclipse IDE.

Assisted in the maintenance of SQL Server databases, performing routine backups, restores, and performance tuning.

Assisted in the management of university databases, including loading data from external sources and optimizing query performance

Ensured the integrity and security of data in line with our backup technologies.

Collaborated with the IT team to implement web services that facilitated the exchange of data between different university systems.

Led initiatives to automate routine database tasks, reducing manual effort and increasing efficiency.

Assisted in the design and development of electronic circuits and systems, contributing to research projects focused on consumer electronics.

Utilized troubleshooting and EE tools, including multimeters, oscilloscopes, and network analyzers, to support laboratory experiments and research initiatives.

Designed and tested printed circuit boards (PCBs) using schematic design and layout programs, ensuring alignment with project requirements.

Installed and Configured the Desktops, Laptops, Mobile Devices and Systems. Established the connections for multiple systems using ethernet switches.

Investigated technical issues and implemented corrective actions, enhancing the reliability and performance of electronic systems.

Supported manufacturing-focused research by analyzing design impacts on manufacturability and proposing solutions to optimize processes. Provided in-person technical support and performed the Break fix, Desktop support.

Developed the algorithms to generate the digital signal in CCS and burned the algorithms to TMDSDSK6713 chip. We displayed the output in CCS LabVIEW plots.

Program Analyst, Cognizant Technology Solutions, Chennai, India Mar 2021- Mar 2022

Developing Web API’s using Java8/J2EE, JSP, Servlets, JDBC, Spring, SOAP, REST, HTML and XML.

Support and maintenance of existing projects. (Review bugs and problems as assigned, diagnose and fix them in an appropriate manner).

Involved in the design and development phases of Agile Software Development.

Attending Daily and Weekly Scrum calls with Team and discuss on issues/progress. Involved in gathering business requirements with Product owners and technical tasks for each Sprint.

Used IntelliJ for developing code modules in the development environment. Developed JDBC transactions through Spring JDBC Template.

Leveraged experience in Relation database like MS SQL and MySQL. Performed the CURD operations and analytical operations on the different database.

Involved in developing Single-Page Application pages using REST Services. Worked on Initial Spring and Maven Configuration set for the Project Spring - Maven Framework. Analysis, design and development of Application based on J2EE using Spring and Hibernate.

Developed Hibernate DAO classes to retrieve and save data using Spring framework manager classes and retrieval from the underlying database. Working with MySQL database.

Designed &implemented XML/WSDL to provide the interface to the various clients running on both Java and Non-Java applications.

Intensively used Jira as a part of Agile scrum methodology. Used Git for version control to manage code changes and Jira for tracking tasks and project progress. Linked Git commits to Jira issues to maintain a clear trace between code updates and project tasks, helping the team stay organized and aligned on project goals.

Program Analyst Trainee, Cognizant Technology Solutions Chennai, India Jan 2021- Mar 2021

Worked with Software Development Life Cycle by designing, developing, implementing, and testing.

Design, develop and test HTML5, CSS3, Bootstrap, JavaScript, jQuery and React.JS that meets accessibility and web browser standards for website

Worked in a collaborative setting to design and construct dynamic web applications with the Angular and React JS frameworks, helping to create a user interface that is responsive and easy to use.

Deepened understanding of JavaScript, MySQL React JS, and Angular via committed self-study efforts and hands-on project implementation experience, improving overall technical competency and adaptability.

Participated in requirement gathering meetings and customer engagements, skillfully converting business requirements into technological solutions and guaranteeing that project deliverables and client expectations were in line.

Developed and maintained RESTful APIs to facilitate easy front-end and back-end system communication.

Designed the application to provide insurers with mission-critical information with over 25+ different end points to comply with the specifications. Accurately executes automated tests, comparing actual results with expected outcomes.

Analyzed over 100+ sources which included reports, guidelines, laws, tables, policies, maps to ultimately decide that my service would include. Accurately sets up test data to enable the execution of automated testing.

Web scraped all the data using Python with Selenium scripts and the extension Web Scraper.io to collect the data and stored all the data on a MySQL server. Utilizes test repositories and automation assets to reduce the amount of test preparation and execution effort required.

Planned the API layout which included making UML diagrams, creating a workflow, breaking down the application into smaller building blocks, and made a checklist of things to get done. Developed using Spring MVC, REST, Hibernate frameworks.

Implemented Spring Cloud microservice components including Spring Cloud config server and Config clients to retrieve configurations from Git. Client-side and Server-side using Service Discovery and implemented many Hystrix circuit breakers.

Other microservice components that were implemented included Routing using Netflix Ribbon and Open Feign, Messaging using Rabbit MQ, Spring Security for authentication and OAuth2.0 for authorization.

Completed component integration tests, Exception handling, Unit Testing, System testing, Sanity Testing, Mock Testing

Managed and stored data using MySQL, putting in place effective queries and data structures to guarantee scalability and peak performance. Recognizes and logs valid defects in the relevant test/defect management tools

Provided technical support for data analysis projects, assisting faculty and students in extracting and analyzing data using SQL. Worked with different teams to develop the Large-Scale Database and analyzed the data using Python.

Worked with SQL Server to build the continuous integration with Database and Application Programable interface.

Added the Jira tasks, Git branches and commits to get the automatic update on the Jira issues, which helps my team follow the project tasks in progress, completed, or need attention.

Resolved the software issues by using the Jira ticketing system, promptly resolving the user issues via performing the remote sessions or in-person for hardware support. Provided feedback on product quality to stakeholders, enabling them to make informed decisions.

Engineering Intern, TechieNest LLC, Jaipur, India March 2019 – December 2019

Developed and supported the migration of applications for the Secure File Transfer team that process internal and external file transfers securely throughout American Express by using React, Java, and Oracle SQL Database.

Assisted in developing and deploying web applications using Java/J2EE technologies, ensuring high-quality software delivery.

Worked closely with senior developers to implement various user interface features using HTML, CSS, JavaScript, and Java Beans.

Co-created a RESTful application, developed.

Lead the design, implementation, and maintenance of the data governance framework.

Help promote the data governance framework and drive adoption across all the company's divisions

The application’s business logic considers both the industry and location of the new company and then sends email notifications to our nearby members whose services are deemed beneficial to aiding that company. A queue is used to ensure that our members have first dibs.

Proven to speed up the pace at which new companies get acclimated.

Used python for prototyping the idea, using different toolsets and libraries to perform geocoding, geospatial analysis, clean, combine, manipulate, and analyze several datasets. Collected data from both opensource and closed databases, using encryptions and keys.

This collection process was continuous and provided up to the minute information regarding new companies.

Utilized the different types of databases like MySQL, MS SQL, and PostgreSQL to design the database in tables. Performed the analytical operations on these databases to get access to the required data. Used View command to create a virtual table for the data set which we are working on. Created and maintained a data dictionary for assigned data domain

Produced high quality code through writing unit tests, automation, and performing code reviews. Assisted peers in coding, debugging, and troubleshooting. Worked with business partners to establish data quality standard and metrics

Developed and maintained APIs, async messages allowing 3rd party software to consume and produce events and process the business flows within the systems. Worked with data consumers and producers to negotiate ownership of data

Implemented Spring-Security, OAUTH2 Security, to ensure that endpoints were secure and oversaw the authorization management.

Worked with the cybersecurity team to generate Incident Response Report.

Collaborated and solved problems with external IT and business teams to complete sections of the project.

Provided both testing support and deployment support. Assisted on ad hoc projects as assigned

Worked with the Agile Methodologies and executed the project with bi-weekly sprints. Leveraged my skills in JIRA ticketing and Project Management.

PERSONAL PROJECTS

University Login Data Collection Application

Developed a detailed application for the University of Bridgeport on the RPA360 platform. This application will automate the updating process of data collection of university servers. Developed a robust web application using Java, Spring Boot, and ReactJS, enhancing user experience and improving data management.

The application database will integrate with APIs for data collection and to transfer the data. Designed a responsive web page to access the data daily.

Skills: Software Development Life Cycle (SDLC), HTML, CSS, JavaScript, React, RPA360, MySQL, REST APIs.

Order Management System.

Designed and developed an E-Commerce Order Management System that allows users to browse products, place orders, and track their orders. The user interface is developed by using HTML, CSS, JavaScript and React Libraries.

This system will have microservices architecture with Java Back-End and React Libraries for Front-End development.

To asynchronous the processing of order notifications we used Kafka and databases using Oracle and MySQL.

With HTTP API Integration I make requests for back-end services. Implemented the error handling and loading Stages.

Skills: SDLC, HTML, CSS, JavaScript, React, Java, Kafka, MySQL, A/B Testing.

EDUCATION

University of Bridgeport Master of Science in Computer Engineering

Bridgeport, CT, US, 06604 GPA: 3.6/4.0

Relevant Coursework: Neural Networks, Deep Learning, Machine Learning, Data Analysis, Data Management and Visualization.

Lovely Professional University B. Tech in Electronics and Communication Engineering

Punjab, India. GPA: 3.1/4.0

Achievements

Certified as a Software Engineer Simulation at JPMorgan Chase by Forage.

I’m certified in SQL from Hacker Rank.

Certified in Agile Methodologies, JIRA Project Tracking System.

I achieved a certificate in Responsive Web Design from Free Code Camp



Contact this candidate