diff --git a/libraries-server/.gitignore b/libraries-server/.gitignore
new file mode 100644
index 0000000000..e594daf27a
--- /dev/null
+++ b/libraries-server/.gitignore
@@ -0,0 +1,9 @@
+*.class
+
+# Folders #
+/gensrc
+/target
+
+# Packaged files #
+*.jar
+/bin/
diff --git a/libraries-server/pom.xml b/libraries-server/pom.xml
new file mode 100644
index 0000000000..517cf6a07c
--- /dev/null
+++ b/libraries-server/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+ com.baeldung
+ libraries-server
+ 0.0.1-SNAPSHOT
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+
+
+
+ org.eclipse.paho
+ org.eclipse.paho.client.mqttv3
+ 1.2.0
+
+
+
\ No newline at end of file
diff --git a/libraries/src/main/java/com/baeldung/mqtt/EngineTemperatureSensor.java b/libraries-server/src/main/java/com/baeldung/mqtt/EngineTemperatureSensor.java
similarity index 100%
rename from libraries/src/main/java/com/baeldung/mqtt/EngineTemperatureSensor.java
rename to libraries-server/src/main/java/com/baeldung/mqtt/EngineTemperatureSensor.java
diff --git a/libraries/src/test/java/com/baeldung/mqtt/EngineTemperatureSensorLiveTest.java b/libraries-server/src/test/java/com/baeldung/mqtt/EngineTemperatureSensorLiveTest.java
similarity index 100%
rename from libraries/src/test/java/com/baeldung/mqtt/EngineTemperatureSensorLiveTest.java
rename to libraries-server/src/test/java/com/baeldung/mqtt/EngineTemperatureSensorLiveTest.java
diff --git a/libraries-server/src/test/resources/ABC.txt b/libraries-server/src/test/resources/ABC.txt
new file mode 100644
index 0000000000..f78e42598c
--- /dev/null
+++ b/libraries-server/src/test/resources/ABC.txt
@@ -0,0 +1 @@
+Hello World from ABC.txt!!!
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/JunitParamsTestParameters.csv b/libraries-server/src/test/resources/JunitParamsTestParameters.csv
new file mode 100644
index 0000000000..84eb5a0b23
--- /dev/null
+++ b/libraries-server/src/test/resources/JunitParamsTestParameters.csv
@@ -0,0 +1,4 @@
+1,2,3
+-10, 30, 20
+15, -5, 10
+-5, -10, -15
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/aaa.txt b/libraries-server/src/test/resources/aaa.txt
new file mode 100644
index 0000000000..e5875f97d6
--- /dev/null
+++ b/libraries-server/src/test/resources/aaa.txt
@@ -0,0 +1 @@
+Hello World from aaa.txt!!!
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/adder-beans.xml b/libraries-server/src/test/resources/adder-beans.xml
new file mode 100644
index 0000000000..2fbdbd378f
--- /dev/null
+++ b/libraries-server/src/test/resources/adder-beans.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ 4
+
+
+
+
+
diff --git a/libraries-server/src/test/resources/book.csv b/libraries-server/src/test/resources/book.csv
new file mode 100644
index 0000000000..d709152a5e
--- /dev/null
+++ b/libraries-server/src/test/resources/book.csv
@@ -0,0 +1,3 @@
+author,title
+Dan Simmons,Hyperion
+Douglas Adams,The Hitchhiker's Guide to the Galaxy
diff --git a/libraries-server/src/test/resources/csv/fourColumn.csv b/libraries-server/src/test/resources/csv/fourColumn.csv
new file mode 100644
index 0000000000..51a69fd1a0
--- /dev/null
+++ b/libraries-server/src/test/resources/csv/fourColumn.csv
@@ -0,0 +1,5 @@
+ColA,ColB,ColC,ColD
+A,B,B,B
+C,D,W,W
+G,G,E,E
+G,F,Q,Q
diff --git a/libraries-server/src/test/resources/csv/namedColumn.csv b/libraries-server/src/test/resources/csv/namedColumn.csv
new file mode 100644
index 0000000000..279b743600
--- /dev/null
+++ b/libraries-server/src/test/resources/csv/namedColumn.csv
@@ -0,0 +1,5 @@
+name,age
+adam,1000
+martin,27
+gigi,41
+seraphine,30
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/csv/twoColumn.csv b/libraries-server/src/test/resources/csv/twoColumn.csv
new file mode 100644
index 0000000000..3eab8e8a64
--- /dev/null
+++ b/libraries-server/src/test/resources/csv/twoColumn.csv
@@ -0,0 +1,5 @@
+ColA,ColB
+A,B
+C,D
+G,G
+G,F
diff --git a/libraries-server/src/test/resources/csv/writtenAll.csv b/libraries-server/src/test/resources/csv/writtenAll.csv
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/libraries-server/src/test/resources/csv/writtenBean.csv b/libraries-server/src/test/resources/csv/writtenBean.csv
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/libraries-server/src/test/resources/csv/writtenOneByOne.csv b/libraries-server/src/test/resources/csv/writtenOneByOne.csv
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/libraries-server/src/test/resources/dockerapi/Dockerfile b/libraries-server/src/test/resources/dockerapi/Dockerfile
new file mode 100644
index 0000000000..f9ad47f032
--- /dev/null
+++ b/libraries-server/src/test/resources/dockerapi/Dockerfile
@@ -0,0 +1,8 @@
+FROM alpine:3.6
+
+RUN apk --update add git openssh && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm /var/cache/apk/*
+
+ENTRYPOINT ["git"]
+CMD ["--help"]
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/employees.sql b/libraries-server/src/test/resources/employees.sql
new file mode 100644
index 0000000000..c6109724cf
--- /dev/null
+++ b/libraries-server/src/test/resources/employees.sql
@@ -0,0 +1,43 @@
+CREATE TABLE employee(
+ id int NOT NULL PRIMARY KEY auto_increment,
+ firstname varchar(255),
+ lastname varchar(255),
+ salary double,
+ hireddate date
+);
+
+CREATE TABLE email(
+ id int NOT NULL PRIMARY KEY auto_increment,
+ employeeid int,
+ address varchar(255)
+);
+
+CREATE TABLE employee_legacy(
+ id int NOT NULL PRIMARY KEY auto_increment,
+ first_name varchar(255),
+ last_name varchar(255),
+ salary double,
+ hired_date date
+);
+
+
+INSERT INTO employee (firstname,lastname,salary,hireddate) VALUES ('John', 'Doe', 10000.10, to_date('01-01-2001','dd-mm-yyyy'));
+INSERT INTO employee (firstname,lastname,salary,hireddate) VALUES ('Kevin', 'Smith', 20000.20, to_date('02-02-2002','dd-mm-yyyy'));
+INSERT INTO employee (firstname,lastname,salary,hireddate) VALUES ('Kim', 'Smith', 30000.30, to_date('03-03-2003','dd-mm-yyyy'));
+INSERT INTO employee (firstname,lastname,salary,hireddate) VALUES ('Stephen', 'Torvalds', 40000.40, to_date('04-04-2004','dd-mm-yyyy'));
+INSERT INTO employee (firstname,lastname,salary,hireddate) VALUES ('Christian', 'Reynolds', 50000.50, to_date('05-05-2005','dd-mm-yyyy'));
+
+INSERT INTO employee_legacy (first_name,last_name,salary,hired_date) VALUES ('John', 'Doe', 10000.10, to_date('01-01-2001','dd-mm-yyyy'));
+INSERT INTO employee_legacy (first_name,last_name,salary,hired_date) VALUES ('Kevin', 'Smith', 20000.20, to_date('02-02-2002','dd-mm-yyyy'));
+INSERT INTO employee_legacy (first_name,last_name,salary,hired_date) VALUES ('Kim', 'Smith', 30000.30, to_date('03-03-2003','dd-mm-yyyy'));
+INSERT INTO employee_legacy (first_name,last_name,salary,hired_date) VALUES ('Stephen', 'Torvalds', 40000.40, to_date('04-04-2004','dd-mm-yyyy'));
+INSERT INTO employee_legacy (first_name,last_name,salary,hired_date) VALUES ('Christian', 'Reynolds', 50000.50, to_date('05-05-2005','dd-mm-yyyy'));
+
+INSERT INTO email (employeeid,address) VALUES (1, 'john@baeldung.com');
+INSERT INTO email (employeeid,address) VALUES (1, 'john@gmail.com');
+INSERT INTO email (employeeid,address) VALUES (2, 'kevin@baeldung.com');
+INSERT INTO email (employeeid,address) VALUES (3, 'kim@baeldung.com');
+INSERT INTO email (employeeid,address) VALUES (3, 'kim@gmail.com');
+INSERT INTO email (employeeid,address) VALUES (3, 'kim@outlook.com');
+INSERT INTO email (employeeid,address) VALUES (4, 'stephen@baeldung.com');
+INSERT INTO email (employeeid,address) VALUES (5, 'christian@gmail.com');
diff --git a/libraries-server/src/test/resources/fileTest.txt b/libraries-server/src/test/resources/fileTest.txt
new file mode 100644
index 0000000000..ce4bea208b
--- /dev/null
+++ b/libraries-server/src/test/resources/fileTest.txt
@@ -0,0 +1 @@
+Hello World from fileTest.txt!!!
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/ftp/baz.txt b/libraries-server/src/test/resources/ftp/baz.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/libraries-server/src/test/resources/input.txt b/libraries-server/src/test/resources/input.txt
new file mode 100644
index 0000000000..811232fa1f
--- /dev/null
+++ b/libraries-server/src/test/resources/input.txt
@@ -0,0 +1 @@
+This file is merely for testing.
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/output.txt b/libraries-server/src/test/resources/output.txt
new file mode 100644
index 0000000000..34e1e27d5a
--- /dev/null
+++ b/libraries-server/src/test/resources/output.txt
@@ -0,0 +1 @@
+Should be copied to OutputStream.
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/sample.txt b/libraries-server/src/test/resources/sample.txt
new file mode 100644
index 0000000000..20f137b416
--- /dev/null
+++ b/libraries-server/src/test/resources/sample.txt
@@ -0,0 +1,2 @@
+line 1
+a second line
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/stories/github_rest/user_profile/github_user_profile_payload_test.story b/libraries-server/src/test/resources/stories/github_rest/user_profile/github_user_profile_payload_test.story
new file mode 100644
index 0000000000..841bf901b5
--- /dev/null
+++ b/libraries-server/src/test/resources/stories/github_rest/user_profile/github_user_profile_payload_test.story
@@ -0,0 +1,13 @@
+
+Meta:
+
+Narrative:
+As a user
+I want to look up a valid user's profile on github
+So that I can know the login payload should be the same as username
+
+Scenario: Github user's profile should have a login payload same as username
+
+Given github user profile api
+When looking for eugenp via the api
+Then github's response contains a 'login' payload same as eugenp
diff --git a/libraries-server/src/test/resources/stories/spring/adder_test.story b/libraries-server/src/test/resources/stories/spring/adder_test.story
new file mode 100644
index 0000000000..e8de2cf076
--- /dev/null
+++ b/libraries-server/src/test/resources/stories/spring/adder_test.story
@@ -0,0 +1,11 @@
+Meta:
+
+Narrative:
+As user
+I want to add a number
+So that I can have the sum
+
+Scenario: A user can submit a number to adder and get current sum
+Given a number
+When I submit another number 5 to adder
+Then I get a sum of the numbers
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/yaml/customer.yaml b/libraries-server/src/test/resources/yaml/customer.yaml
new file mode 100644
index 0000000000..aa76141c7d
--- /dev/null
+++ b/libraries-server/src/test/resources/yaml/customer.yaml
@@ -0,0 +1,3 @@
+firstName: "John"
+lastName: "Doe"
+age: 20
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/yaml/customer_with_contact_details.yaml b/libraries-server/src/test/resources/yaml/customer_with_contact_details.yaml
new file mode 100644
index 0000000000..34563cbd21
--- /dev/null
+++ b/libraries-server/src/test/resources/yaml/customer_with_contact_details.yaml
@@ -0,0 +1,7 @@
+firstName: "John"
+lastName: "Doe"
+age: 31
+contactDetails:
+ - { type: "mobile", number: 123456789}
+ - { type: "landline", number: 456786868}
+
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/yaml/customer_with_contact_details_and_address.yaml b/libraries-server/src/test/resources/yaml/customer_with_contact_details_and_address.yaml
new file mode 100644
index 0000000000..664afe8594
--- /dev/null
+++ b/libraries-server/src/test/resources/yaml/customer_with_contact_details_and_address.yaml
@@ -0,0 +1,13 @@
+firstName: "John"
+lastName: "Doe"
+age: 31
+contactDetails:
+ - type: "mobile"
+ number: 123456789
+ - type: "landline"
+ number: 456786868
+homeAddress:
+ line: "Xyz, DEF Street"
+ city: "City Y"
+ state: "State Y"
+ zip: 345657
diff --git a/libraries-server/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml b/libraries-server/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml
new file mode 100644
index 0000000000..145da256d9
--- /dev/null
+++ b/libraries-server/src/test/resources/yaml/customer_with_contact_details_and_tags.yaml
@@ -0,0 +1,6 @@
+firstName: "John"
+lastName: "Doe"
+age: 31
+contactDetails:
+ - !contact { type: "mobile", number: 123456789}
+ - !contact { type: "landline", number: 456786868}
diff --git a/libraries-server/src/test/resources/yaml/customer_with_type.yaml b/libraries-server/src/test/resources/yaml/customer_with_type.yaml
new file mode 100644
index 0000000000..6e13c26cea
--- /dev/null
+++ b/libraries-server/src/test/resources/yaml/customer_with_type.yaml
@@ -0,0 +1,4 @@
+!!com.baeldung.snakeyaml.Customer
+firstName: "John"
+lastName: "Doe"
+age: 20
\ No newline at end of file
diff --git a/libraries-server/src/test/resources/yaml/customers.yaml b/libraries-server/src/test/resources/yaml/customers.yaml
new file mode 100644
index 0000000000..23b9039c2e
--- /dev/null
+++ b/libraries-server/src/test/resources/yaml/customers.yaml
@@ -0,0 +1,8 @@
+---
+firstName: "John"
+lastName: "Doe"
+age: 20
+---
+firstName: "Jack"
+lastName: "Jones"
+age: 25
\ No newline at end of file
diff --git a/libraries/pom.xml b/libraries/pom.xml
index b19a005d94..7402d88ef3 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -778,13 +778,6 @@
${snakeyaml.version}
-
- org.eclipse.paho
- org.eclipse.paho.client.mqttv3
- 1.2.0
-
-
-