|
Abhilasha Saxena Oodles

Abhilasha Saxena (Manager-Technical Project Manager)

Experience:10+ yrs

Abhilasha Saxena has years of IT industry experience, she is working as a Fullstack developer. Her skill sets include expertise in Frontend languages and scripts such as HTML5, CSS, Javascript/jQuery, Ajax, AngularJs, ReactJS, and others, along with strong Backend languages such as Core Java, J2EE, JSP, Servlets, Struts, Hibernate Spring/Spring Boot, Python, and relational databases such as MySql, PostgreSQL, and Oracle. She is intimately familiar with the optaplanner engine, an embeddable constraint fulfilment engine that optimises planning challenges. She is hands on experiences on API implementations, webservices, development testing and deployments, code improvements, and has contributed to business value through her work on numerous client projects like TimeForge, Data ETV, AutoRouter, Delm8 and MyHelpa. She has an innovative mind, excellent problem-solving abilities, and enjoys reading about new technology.

Abhilasha Saxena Oodles
Abhilasha Saxena
(Technical Project Manager)

Abhilasha Saxena has years of IT industry experience, she is working as a Fullstack developer. Her skill sets include expertise in Frontend languages and scripts such as HTML5, CSS, Javascript/jQuery, Ajax, AngularJs, ReactJS, and others, along with strong Backend languages such as Core Java, J2EE, JSP, Servlets, Struts, Hibernate Spring/Spring Boot, Python, and relational databases such as MySql, PostgreSQL, and Oracle. She is intimately familiar with the optaplanner engine, an embeddable constraint fulfilment engine that optimises planning challenges. She is hands on experiences on API implementations, webservices, development testing and deployments, code improvements, and has contributed to business value through her work on numerous client projects like TimeForge, Data ETV, AutoRouter, Delm8 and MyHelpa. She has an innovative mind, excellent problem-solving abilities, and enjoys reading about new technology.

LanguageLanguages

DotEnglish

Bilingual

DotHindi

Fluent

Skills
Skills

DotBiometric Integration

60%

DotDatabase Management

60%

DotProject Management

60%

DotHTML, CSS

60%

DotOSM

60%

DotCloud Platforms

60%

DotTimefold

60%

DotSpring Boot

80%

DotOptaplanner

60%

DotClient Handling

60%

DotLogistics API

60%

DotEDI

60%

DotRoute Optimization

60%

DotJavascript

60%

DotAPI Integration

60%

DotFullstack

100%

DotPython

40%

DotTechnical Project Management

100%

DotJava

80%

DotPostgres

80%

DotGraphHopper

60%

DotMySQL

80%

DotKafka

100%

DotNo SQL/Mongo DB

80%
ExpWork Experience / Trainings / Internship

Mar 2020-Present

Technical Project Manager

Unit No. 110, 1st Floor, IRIS Tech Park, Sector 48, Sohna Road, Gurugram, Haryana- 122018


Oodles Technologies

Unit No. 110, 1st Floor, IRIS Tech Park, Sector 48, Sohna Road, Gurugram, Haryana- 122018

Mar 2020-Present

EducationEducation

2009-2013

Dot

Uttar Pradesh Technical University

B.Tech -Computer Science and Engineering

Top Blog Posts
Performing Basic Operation On AWS Bucket In Spring Boot Java
                                                                   

 
In this blog, we are going to learn about basic operations that we can perform on AWS S3 bucket with AWS credentials and without AWS credentials in Spring Boot Java Application.
 
Firstly we need to create a spring boot maven project,
you can create a spring boot project from spring initializers
and add below aws dependency in your pom.xml file

<dependency>
   <groupId>com.amazonaws</groupId>
   <artifactId>aws-java-sdk-s3</artifactId>
   <version>1.11.954</version>
</dependency>

If you want to create a rest api then create a rest controller and
create a function in your service layer to get AmazonS3Object so that you can re-use it .

Note: for this you'll need credentials for AWS account 

You can set the ACCESS_KEY_ID, SECRET_ACCESS_KEY and STORAGE_REGION
in your application.properties file or you can hard code the values
as per your requirement.

The below code authenticates the user's was account and returns AmazonS3 object:

public AmazonS3 getAmazonS3Object() {
    BasicAWSCredentials credentials = new BasicAWSCredentials(aws.ACCESS_KEY_ID, aws.SECRET_ACCESS_KEY);
    return AmazonS3ClientBuilder.standard()
            .withRegion(aws.STORAGE_REGION)
            .withCredentials(new AWSStaticCredentialsProvider(credentials))
            .build();
}

This object exposes multiple functions which we can use to get access
to bucket files, folder etc,. and perform various operations.

Create object of AmazonS3 class to access other methods for creating,
fetching, deleting bucket and files from it

AmazonS3 s3 = getAmazonS3Object();

You can create a bucket with below line:

s3.createBucket(bucketName);

If you want to make a rest api that create a bucket on server then use below code:

public Bucket createBucket(String bucketName) {
     AmazonS3 s3 = getAmazonS3Object();
     Bucket b = null;
     try {
         b = s3.createBucket(bucketName);
     } catch (AmazonS3Exception e) {
         e.printStackTrace();
     }
    return b;
}

if you want to add a check for existing bucket with same name you can use
doesBucketExistV2 method and pass bucketName as parameter it return boolean value,
true in case if bucket exists with same name and false in case no bucket exists with that name.

Update your code with below mentioned code:

public Bucket createBucket(String bucketName) {
    AmazonS3 s3 = getAmazonS3Object();
    Bucket b = null;
    if (s3.doesBucketExistV2(bucketName)) {
        b = getBucket(bucketName);
    } else {
         try {
             b = s3.createBucket(bucketName);
         } catch (AmazonS3Exception e) {
            e.printStackTrace();
         }
    }
    return b;
}

You can perform other operations also as mentioned below and
can convert them into individual functions performing each operation:

To write or upload file into the bucket simply use:

s3.putObject(new PutObjectRequest(bucketName, fileName, file));

To delete any file or directory from the bucket simple use:

s3.deleteObject(bucketName, path);

To delete a bucket simply use:

s3.deleteBucket(bucketName);

There are multiple methods to fetch the file object from amazonS3 but here we have used single argument getObjectMethod which takes bucket name and file name which we need to read and make a copy

public void copyFileFromS3Bucket(AmazonS3 amazonS3, String bucketName, String fileName) throws IOException {
    S3ObjectInputStream stream = amazonS3.getObject(new GetObjectRequest(bucketName, fileName)).getObjectContent();
    byte[] buffer = new byte[stream.available()];
    stream.read(buffer);
    File targetFile = new File(fileName);
    OutputStream outStream = new FileOutputStream(targetFile);
    outStream.write(buffer);
}

We can use the below lines to call above defined methods and perform the action

AmazonS3 s3 = getAmazonS3Object();
copyFileFromS3Bucket(s3, aws.STORAGE_BUCKET_NAME, aws.STORAGE_BUCKET_NAME);

Suppose we don't want to share the account credentials with others and still want the file to be readable then we can grant public access for the file inside bucket and make it accessible with the help of url
the url would be like below:

http://[BucketName].s3.amazonaws.com/[FileName]

And for reading or copying any public access file we don't require any credentials for AWS account like the above once,

so we can simply copy the file via url using below code from aws:

public void copyFileFromLink() throws IOException {
    URL url = new URL(aws.URL_LINK);
    BufferedInputStream in = new BufferedInputStream(url.openStream());
    FileOutputStream fileOutputStream = new FileOutputStream(getFileName(url));
    byte dataBuffer[] = new byte[1024];
    int bytesRead;
    while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {
        fileOutputStream.write(dataBuffer, 0, bytesRead);
    }
    fileOutputStream.close();
    in.close();
}

We, at Oodles, provide end-to-end ERP software development services to solve complex business problems. Our custom ERP software solutions enable cross-industry businesses to streamline their processes and achieve higher levels of customer satisfaction.

 

 

How To Start The Spring Eureka Server

                                                                                                    

Do we need to download any Eureka server just like we download Tomcat or any other server? 

The answer is NO.

 

Follow below steps to start spring Eureka Server:

Step 1:

To create a Eureka server we just need to create a spring boot application. And how do we create a spring boot application with spring initializr

 

 

If we download this project then it will be just a spring boot application but what makes it a Eureka server if we add a dependency called Eureka server.

 

 

There is another Eureka dependency called Eureka Discovery, that's the client.

 

Spring boot comes with two Eureka dependencies: whatever application you want as Eureka server you use Eureka server dependency and whatever application you want to do the discovering or to publish and tell the Eureka server I am here you use the Eureka client dependency. 

 

Now we'll download/Generate this project as a startup or Discovery server.

 

Step 2:

Open the downloaded project in any IDE as a Maven Project and set up the SDK.

 

This is how your pom.xml should look like with the dependencies already added.

 

 

Step 3:

Add @EnableEurekaServer annotation to the main application class and below properties to application.properties file.

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false

 

We add these properties so that Eureka does not register with itself. As every Eureka Server is also a Eureka Client. When the server runs it not only provides the registry, it also tries to register with other Eureka Servers. Because you can have multiple instances of Eureka Servers and they can register with each other so that if one Server fails another server can still provide service.

 

So these two properties tell Eureka Server that you are the only server here, don't search for any other or don't act as a client.

 

Step 4:

Run your main class

 

You will see "Started Eureka Server" in your logs, Eureka's default port is 8761

 

Below is the UI which spring Eureka comes with default mentioning the system status, current time, how long it is up for.

 

 

 

There is a section which says Instances currently registered with Eureka. Right now it says No instances available, as no instances are currently registered with this eureka server.

 

So we need to create microservices and add eureka clients, only then those microservices have the functionality to tell Eureka Server they exist.

 

As the Eureka Server is in ready mode for accepting request, Now you can create your microservices to make those request


 

We are an ERP development company that provides end-to-end software solutions to enhance business productivity. Our custom ERP application development services enable businesses to streamline their inbound/outbound operations with advanced problem-solving capabilities. For more information, contact us at [email protected].

 

 




 

How To Use GitHub and Set Global Variables

What Is Git Repository?

Git repository is a collection of all the files related to the project.

Github

It is the largest host for Git repositories so if you are using git then at some point you need to interact with GitHub also.

How to use GitHub?

To use gitHub you have to sign up which is free.

Account Setup-

1.Open Google chrome and type 'https://github.com'.

2.Click Signup and provide username, email, and password.

3.Click on create account.

GitHub provides almost all of its functionality with free accounts, except some advanced features. GitHub also provide paid plans which provide advanced

features. To clone a public project you don't even need to sign up. We need an account when we fork public projects or we push to the fork later.

Fork-

You can download the existing project of someone else to which you don't have push access. This process is called Forking. When you 'fork' a project, GitHub will make a copy of the project that is entirely yours and you can push to it. Anyone can contribute the changes to the original repository. This way projects don't have to worry about adding users as collaborators, to give them push access.

Git First-time setup-

Now that you have Git on your system. There are few things which need to be customized.

 

git config- using this tool you can get and set configuration variables.

To view all of your settings and where they are coming from use-

    git config --list --show-origin

 

Set Username and Email Address 

This is important because every Git commit uses your email and username to track the commit.

To set username-

    git config --global user.name "your_username"

To set email address-

    git config --global user.email your_emal_address

--global- if you pass the --global option, git will always use that information for anything you do on that system.If you want to set different name and

email address for specific project, you can run the command without --global option when you are in that project.

Many GUI tools will do it for you when you first run them. 

 

At Oodles ERP, we provide custom web application development services to overcome complex business challenges with advanced problem-solving capabilities. Our development team is skilled at using the latest tools, frameworks, and SDKs for custom web application development. For more information, reach us out at [email protected].

The Need For Version Control In Enterprise Applications

Version control systems allow developers to track and manage changes to software code. Example Mercurial, ClearCase, SVN, Git, etc. In this post, we’ll examine the inevitable need for version control in enterprise application architecture. 

 

Version source control lets you-

 

1. Backup

2. Versioning/History

3. Undo changes

4. Compare code to various versions

5. Collaboration/Teamwork

6. Blame/Learning moment

7. Isolation of changes

8. Code review

 

Who needs a version control system?

  • Software developers/Engineers/Programmers
  • Web designer
  • Graphic artist

 

Types of Version Control System-

1. Local Version Control System- The version control system in a local computer is called the local version control system. Example- RCS.

 

2. Centralized Version Control System- All the changes in the files are tracked in the centralized server. Example- Tortoise SVN.

 

3. Distributed Version Control System-

This approach removed the drawbacks of the centralized version control system that is if a centralized server dies developer can not save versioned changes and commits are also slow. In distributed VSC every user has a local copy of the repository and it will be the full mirror of the centralized repository that is on the distributed network and you require the internet when you need to commit your changes to the central repository. Example- Git, Mercurial Hg.

 

What Is Git?

1. It is a distributed version control system

2. It is very fast because most of the operations are local

3. It is open source/free

4. It has a large active community

Many IDE's already come with an integration of GIT.

 

How To Install/Configure Git?

1. Go to google chrome.

2. Search git for windows.

3. Click the link 'gitforwindows.org'.

4. Click on download.

5. Execute the git setup from the download directory and hit next, next.

 

How To Verify Git Installation?

1. Open cmd terminal and type 

    -git version

if the git version is displayed on the console means it is installed else it is not.

2. Close terminal

    -exit

 

What Are The Ways To Use Git?

 

Command-line-

Git was specially designed for the command line, a graphical interface came later. New features instantly, implemented to the command line first then to a graphical interface.

GUI-

It provides the user a graphical interface for commits, amending existing commits, creating new branches, performing the merge, fetching, and pushing to a remote repository.

 

Difference Between Git and Github?

Git is a version source control system software and GitHub is a hosting service that lets you manage your repositories.

 

We, at Oodles ERP provide 360-degree enterprise solutions with focus on custom ERP application development. Our end-to-end ERP development services enable businesses to enhance their productivity and improve operational efficiency. For more information, contact us at [email protected].

Banner

Don't just hire talent,
But build your dream team

Our experience in providing the best talents in accordance with diverse industry demands sets us apart from the rest. Hire a dedicated team of experts to build & scale your project, achieve delivery excellence, and maximize your returns. Rest assured, we will help you start and launch your project, your way – with full trust and transparency!