diff --git a/.idea/deployment.xml b/.idea/deployment.xml
new file mode 100644
index 0000000..084a0a0
--- /dev/null
+++ b/.idea/deployment.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
new file mode 100644
index 0000000..e43a64f
--- /dev/null
+++ b/.idea/php.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 4a11aca..0e1f658 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,16 +2,11 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -23,54 +18,22 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -78,11 +41,9 @@
-
+
-
-
-
+
@@ -91,17 +52,17 @@
-
+
-
+
-
-
+
+
@@ -109,32 +70,25 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -173,6 +127,9 @@
+
+
+
@@ -182,12 +139,15 @@
true
DEFINITION_ORDER
+
+
+
-
-
-
-
+
+
+
+
@@ -207,8 +167,7 @@
-
-
+
@@ -216,113 +175,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -330,7 +188,7 @@
-
+
@@ -338,9 +196,14 @@
+
+
+
+
+
@@ -364,6 +227,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -378,6 +260,14 @@
+
+
+
+
+
+
+
+
@@ -398,6 +288,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -438,6 +340,368 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ project
+
+
+ true
+
+
+
+ DIRECTORY
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ project
+
+
+
+
+
+
+
+
+
+
+
@@ -462,45 +726,51 @@
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
+
+
-
-
-
-
+
+
-
@@ -513,7 +783,181 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -532,7 +976,6 @@
-
@@ -605,13 +1048,7 @@
-
-
-
-
-
-
-
+
@@ -650,123 +1087,95 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Server/src/lk/ijse/vcs/testing/Compare.java b/Server/src/lk/ijse/vcs/testing/Compare.java
new file mode 100644
index 0000000..0a17e1e
--- /dev/null
+++ b/Server/src/lk/ijse/vcs/testing/Compare.java
@@ -0,0 +1,95 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package lk.ijse.vcs.testing;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.LineNumberReader;
+import java.util.ArrayList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ *
+ * @author Dilini Peiris
+ */
+public class Compare {
+
+ public static void main(String[] args) {
+ try {
+
+ File changes = new File("src/lk/ijse/vcs/testing/changes.txt");
+ changes.getParentFile().mkdirs();
+ changes.createNewFile();
+// changes=changes.getAbsoluteFile();
+
+ /*Used the following to check how File functions
+ File demo1=new File("Server/src/lk/ijse/vcs/testing/Demo1.java");
+ System.out.println(demo1.getAbsolutePath());
+ System.out.println(demo1.exists());*/
+
+ BufferedReader earlierFileBufRdr = new BufferedReader(new FileReader(new File("Server/src/lk/ijse/vcs/testing/Demo1.java")));
+ BufferedReader newFileBufRdr = new BufferedReader(new FileReader(new File("Server/src/lk/ijse/vcs/testing/Demo2.java")));
+ BufferedWriter resultFileBufWrtr = new BufferedWriter(new FileWriter(changes));
+
+ LineNumberReader earlierLine = new LineNumberReader(earlierFileBufRdr);
+ LineNumberReader newLine = new LineNumberReader(newFileBufRdr);
+
+ loop1:
+ while (true) {
+ String lineLast = earlierFileBufRdr.readLine(); //line from the last commited file
+ String lineNew = newFileBufRdr.readLine(); //line from the new file to be commited
+ int lastLineNum = newLine.getLineNumber();
+ if (lineLast != null || lineNew != null) {
+ if (lineLast.equals(lineNew)) {
+ resultFileBufWrtr.append("" + earlierLine.getLineNumber() + "\t\t" + lineLast);
+ resultFileBufWrtr.newLine();
+ continue loop1;
+ } else {
+ String lineNewCopy = lineNew;
+ int newLineNum = newLine.getLineNumber();
+ boolean isFound = false;
+ ArrayList lineNumbers = new ArrayList<>();
+ loop2:
+ while (lineNewCopy != null) {
+ int newLineNumCopy = newLine.getLineNumber();
+ if (lineLast.equals(lineNewCopy)) {
+ System.out.println("newly added lines : " + lineNumbers.toString());
+ isFound = true;
+ break loop2;
+ } else {
+ lineNumbers.add(newLineNumCopy);
+ resultFileBufWrtr.append("" + newLineNumCopy + "\t+\t" + lineNewCopy);
+ resultFileBufWrtr.newLine();
+ lineNewCopy = newFileBufRdr.readLine();
+ }
+ }
+ if (!isFound) {
+ resultFileBufWrtr.append("" + lastLineNum + "\t-\t" + lineLast);
+ resultFileBufWrtr.newLine();
+ System.out.println("deleted line : " + lastLineNum);
+ }
+ newLine.setLineNumber(newLineNum);
+ }
+ } else {
+ break loop1;
+ }
+
+ }
+ earlierFileBufRdr.close();
+ newFileBufRdr.close();
+ resultFileBufWrtr.close();
+
+ } catch (IOException ex) {
+ Logger.getLogger(Compare.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ }
+}
diff --git a/Server/src/lk/ijse/vcs/testing/Demo1.java b/Server/src/lk/ijse/vcs/testing/Demo1.java
new file mode 100644
index 0000000..68ec0db
--- /dev/null
+++ b/Server/src/lk/ijse/vcs/testing/Demo1.java
@@ -0,0 +1,7 @@
+package lk.ijse.vcs.testing;
+
+class Demo1{
+ public static void main(String args[]){
+
+ }
+}
\ No newline at end of file
diff --git a/Server/src/lk/ijse/vcs/testing/Demo2.java b/Server/src/lk/ijse/vcs/testing/Demo2.java
new file mode 100644
index 0000000..59f2a1f
--- /dev/null
+++ b/Server/src/lk/ijse/vcs/testing/Demo2.java
@@ -0,0 +1,7 @@
+package lk.ijse.vcs.testing;
+
+class Demo{
+ public static void main(String args[]){
+ System.out.print("2");
+ }
+}
\ No newline at end of file
diff --git a/out/production/Client/lk/ijse/vcs/assets/assets b/out/production/Client/lk/ijse/vcs/assets/assets
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Client/lk/ijse/vcs/controller/controller b/out/production/Client/lk/ijse/vcs/controller/controller
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Client/lk/ijse/vcs/proxy/proxy b/out/production/Client/lk/ijse/vcs/proxy/proxy
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Client/lk/ijse/vcs/view/Dashboard.fxml b/out/production/Client/lk/ijse/vcs/view/Dashboard.fxml
new file mode 100644
index 0000000..d74ea3e
--- /dev/null
+++ b/out/production/Client/lk/ijse/vcs/view/Dashboard.fxml
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/out/production/Client/lk/ijse/vcs/view/Repositories.fxml b/out/production/Client/lk/ijse/vcs/view/Repositories.fxml
new file mode 100644
index 0000000..48cf877
--- /dev/null
+++ b/out/production/Client/lk/ijse/vcs/view/Repositories.fxml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/out/production/Common/lk/ijse/vcs/dto/dto b/out/production/Common/lk/ijse/vcs/dto/dto
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Common/lk/ijse/vcs/service/service b/out/production/Common/lk/ijse/vcs/service/service
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Server/lk/ijse/vcs/business/business b/out/production/Server/lk/ijse/vcs/business/business
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Server/lk/ijse/vcs/entity/Branches.class b/out/production/Server/lk/ijse/vcs/entity/Branches.class
new file mode 100644
index 0000000..9ebd5af
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/Branches.class differ
diff --git a/out/production/Server/lk/ijse/vcs/entity/Commits.class b/out/production/Server/lk/ijse/vcs/entity/Commits.class
new file mode 100644
index 0000000..c1426a1
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/Commits.class differ
diff --git a/out/production/Server/lk/ijse/vcs/entity/Files.class b/out/production/Server/lk/ijse/vcs/entity/Files.class
new file mode 100644
index 0000000..8ec3db8
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/Files.class differ
diff --git a/out/production/Server/lk/ijse/vcs/entity/Organizations.class b/out/production/Server/lk/ijse/vcs/entity/Organizations.class
new file mode 100644
index 0000000..3fc5194
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/Organizations.class differ
diff --git a/out/production/Server/lk/ijse/vcs/entity/Repositories.class b/out/production/Server/lk/ijse/vcs/entity/Repositories.class
new file mode 100644
index 0000000..4b582b1
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/Repositories.class differ
diff --git a/out/production/Server/lk/ijse/vcs/entity/SuperID.class b/out/production/Server/lk/ijse/vcs/entity/SuperID.class
new file mode 100644
index 0000000..16fde39
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/SuperID.class differ
diff --git a/out/production/Server/lk/ijse/vcs/entity/Users.class b/out/production/Server/lk/ijse/vcs/entity/Users.class
new file mode 100644
index 0000000..5ecaf66
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/entity/Users.class differ
diff --git a/out/production/Server/lk/ijse/vcs/repository/repository b/out/production/Server/lk/ijse/vcs/repository/repository
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Server/lk/ijse/vcs/resources/resources b/out/production/Server/lk/ijse/vcs/resources/resources
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Server/lk/ijse/vcs/service/service b/out/production/Server/lk/ijse/vcs/service/service
new file mode 100644
index 0000000..e69de29
diff --git a/out/production/Server/lk/ijse/vcs/testing/Compare.class b/out/production/Server/lk/ijse/vcs/testing/Compare.class
new file mode 100644
index 0000000..e20a652
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/testing/Compare.class differ
diff --git a/out/production/Server/lk/ijse/vcs/testing/Demo.class b/out/production/Server/lk/ijse/vcs/testing/Demo.class
new file mode 100644
index 0000000..af8bef4
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/testing/Demo.class differ
diff --git a/out/production/Server/lk/ijse/vcs/testing/Demo1.class b/out/production/Server/lk/ijse/vcs/testing/Demo1.class
new file mode 100644
index 0000000..fb247f2
Binary files /dev/null and b/out/production/Server/lk/ijse/vcs/testing/Demo1.class differ