diff --git a/app/build.gradle b/app/build.gradle
index 56e6ffb346f1a0d459acc21bb59226a184b2806d..60c345c1204fd5e7d836a7881710ba6fdb8d395b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,6 +26,9 @@ dependencies {
     })
     compile 'com.android.support:appcompat-v7:24.2.1'
     testCompile 'junit:junit:4.12'
-    apply plugin: 'com.google.gms.google-services'
+    compile 'com.google.firebase:firebase-auth:9.2.0'
+
 
 }
+
+apply plugin: 'com.google.gms.google-services'
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 67fd0b98fea9b88e33a780b714fc488801844fc6..002195da4b0b7ee1080b33caec7bacf904b02b3c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.mapps.seproject">
 
+    <uses-permission android:name="android.permission.INTERNET"/>
+
     <application
         android:allowBackup="true"
         android:icon="@mipmap/ic_launcher"
@@ -15,6 +17,8 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+        <activity android:name=".RegisterActivity" />
+        <activity android:name=".UserActivity"></activity>
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/mapps/seproject/LoginActivity.java b/app/src/main/java/com/mapps/seproject/LoginActivity.java
index 205970d601de3e0e0d79815f966fa642dbd477d5..4ccc960a5eb92c91d6c360c3f6c617057340c19a 100644
--- a/app/src/main/java/com/mapps/seproject/LoginActivity.java
+++ b/app/src/main/java/com/mapps/seproject/LoginActivity.java
@@ -1,11 +1,21 @@
 package com.mapps.seproject;
 
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.support.annotation.NonNull;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
+import android.widget.Toast;
+
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.google.firebase.auth.AuthResult;
+import com.google.firebase.auth.FirebaseAuth;
 
 public class LoginActivity extends AppCompatActivity  implements View.OnClickListener{
 
@@ -13,6 +23,8 @@ public class LoginActivity extends AppCompatActivity  implements View.OnClickLis
     EditText password;
     Button b;
     TextView registerText;
+    ProgressDialog progressDialog;
+    FirebaseAuth firebaseAuth;
 
 
 
@@ -26,8 +38,16 @@ public class LoginActivity extends AppCompatActivity  implements View.OnClickLis
         password= (EditText) findViewById(R.id.etLoginPassword);
         b= (Button) findViewById(R.id.bLogin);
         registerText= (TextView) findViewById(R.id.textRegister);
+        progressDialog = new ProgressDialog(this);
+        firebaseAuth = FirebaseAuth.getInstance();
+        if(firebaseAuth.getCurrentUser() != null)   {
+
+            finish();
+            startActivity(new Intent(getApplicationContext(),UserActivity.class));              // If already logged in
+
 
 
+        }
 
         b.setOnClickListener(this);                             // Onclick
         registerText.setOnClickListener(this);
@@ -39,10 +59,87 @@ public class LoginActivity extends AppCompatActivity  implements View.OnClickLis
 
     }
 
+
+    public void LoginUser() {                                               // Check the login credentials
+
+
+        String mail = email.getText().toString().trim();
+        String pass = password.getText().toString().trim();
+
+        if(TextUtils.isEmpty(mail)) {
+            // email empty
+
+            Toast.makeText(this, "Enter E-Mail", Toast.LENGTH_SHORT).show();
+            return;
+        }
+        if(TextUtils.isEmpty(pass)) {
+            // password empty
+            Toast.makeText(this, "Enter Password", Toast.LENGTH_SHORT).show();
+            return;
+
+        }
+
+        progressDialog.setMessage("Logging IN");
+        progressDialog.show();
+
+        firebaseAuth.signInWithEmailAndPassword(mail,pass)
+                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
+                    @Override
+                    public void onComplete(@NonNull Task<AuthResult> task) {
+
+                        if(task.isSuccessful())    {
+
+                                                                                         // Successful Log In
+                            finish();
+                            startActivity(new Intent(getApplicationContext(),UserActivity.class));
+                            progressDialog.hide();
+
+
+                        }
+
+                        else    {
+
+
+                            progressDialog.hide();                                      // Unsuccessful Log In
+                            Toast.makeText(LoginActivity.this, "Incorrect Details", Toast.LENGTH_SHORT).show();
+                            return;
+
+
+                        }
+
+
+
+
+                    }
+                });
+
+    }
+
+
+
+
+
     @Override
     public void onClick(View v) {
 
 
+        if(v == b)                          // Verify Login Credentials
+        {
+
+            LoginUser();
+
+        }
+
+        if(v == registerText){              // Register New User
+
+            finish();
+            startActivity(new Intent(this,RegisterActivity.class));
+
+        }
+
+
+
+
 
     }
 }
diff --git a/app/src/main/java/com/mapps/seproject/RegisterActivity.java b/app/src/main/java/com/mapps/seproject/RegisterActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e97f456d97d18811fda1cf785a872ef317af8a4
--- /dev/null
+++ b/app/src/main/java/com/mapps/seproject/RegisterActivity.java
@@ -0,0 +1,13 @@
+package com.mapps.seproject;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+
+public class RegisterActivity extends AppCompatActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_register);
+    }
+}
diff --git a/app/src/main/java/com/mapps/seproject/UserActivity.java b/app/src/main/java/com/mapps/seproject/UserActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..96a61b1a934e3aecf8997ce18ade1fc0f73a45bf
--- /dev/null
+++ b/app/src/main/java/com/mapps/seproject/UserActivity.java
@@ -0,0 +1,13 @@
+package com.mapps.seproject;
+
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+
+public class UserActivity extends AppCompatActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_user);
+    }
+}
diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ae725cdcbe01f8f31e22c147015ba480e2e6847
--- /dev/null
+++ b/app/src/main/res/layout/activity_register.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/activity_register"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingBottom="@dimen/activity_vertical_margin"
+    android:paddingLeft="@dimen/activity_horizontal_margin"
+    android:paddingRight="@dimen/activity_horizontal_margin"
+    android:paddingTop="@dimen/activity_vertical_margin"
+    tools:context="com.mapps.seproject.RegisterActivity">
+
+</RelativeLayout>
diff --git a/app/src/main/res/layout/activity_user.xml b/app/src/main/res/layout/activity_user.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2bddd316e029dced2a159df0db38d48744321761
--- /dev/null
+++ b/app/src/main/res/layout/activity_user.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/activity_user"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:paddingBottom="@dimen/activity_vertical_margin"
+    android:paddingLeft="@dimen/activity_horizontal_margin"
+    android:paddingRight="@dimen/activity_horizontal_margin"
+    android:paddingTop="@dimen/activity_vertical_margin"
+    tools:context="com.mapps.seproject.UserActivity">
+
+</RelativeLayout>