diff --git a/app/Http/Controllers/GroupsController.php b/app/Http/Controllers/GroupsController.php
index c96fa691296ad53a4a19337cf5241fb3f66d73f5..f123a9ecc3566c91f17b064d27605636f82872b8 100644
--- a/app/Http/Controllers/GroupsController.php
+++ b/app/Http/Controllers/GroupsController.php
@@ -27,7 +27,7 @@ class GroupsController extends Controller
         GroupsMember::create([
             'group_id' => $group['id'],
             'user_id' => $input['user_id'],
-            'role' => $input['role'],
+            // 'role' => $input['role'],
             'high_score' => 0
         ]);
 
@@ -35,7 +35,7 @@ class GroupsController extends Controller
 
         return response(json_encode([
             'statusMessage' => 'success',
-            'data' => NULL
+            'data' => $group->toArray()
         ]), 200);
     }
 
@@ -80,7 +80,7 @@ class GroupsController extends Controller
     
                 return response(json_encode([
                     'statusMessage' => 'Success',
-                    'data' => $group->toArray()
+                    'data' => NULL
                 ]), 200);
             }
         }
diff --git a/app/Http/Controllers/GroupsMemberController.php b/app/Http/Controllers/GroupsMemberController.php
index f9551355b05ac7c832c3c00f42a8243122b3476a..8bc8b0a751abd68bd34547768ca625cd6a628d9b 100644
--- a/app/Http/Controllers/GroupsMemberController.php
+++ b/app/Http/Controllers/GroupsMemberController.php
@@ -30,30 +30,30 @@ class GroupsMemberController extends Controller
                     'data' => NULL
                 ]), 404);
             } 
-            $groupMember = GroupMember::where([
+            $groupMember = GroupsMember::where([
                 'user_id' => $user->id,
                 'group_id' => $input['group_id']
             ])->first();
 
 
-            $group = Group::find($input['group_id']);
+            $group = Groups::find($input['group_id']);
 
             if (is_null($group)) {
                 return response(json_encode([
-                    'statusMessage' => 'Bad Request'
-                ]), 400);
+                    'statusMessage' => 'error'
+                ]), 404);
             } else {
                 if (is_null($groupMember)) {
-                    $groupMember = GroupMember::create([
+                    $groupMember = GroupsMember::create([
                         'group_id' => $input['group_id'],
                         'user_id' => $user->id,
-                        'role' => $input['role'],
+                        // 'role' => $input['role'],
                         'high_score' => 0
                     ]);
                 }
                 return response(json_encode([
                     'statusMessage' => 'success',
-                    'data' => $groupMember->toArray()
+                    'data' => NULL
                 ]), 200);
             }
         }
@@ -63,7 +63,7 @@ class GroupsMemberController extends Controller
         $group = Groups::find($groupId);
 
         if (!is_null($group)) {
-            $users = DB::table('groups_member')->select('user_id', 'role', 'high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','groups_member.group_id','=','groups.id')->where('group_id',$groupId)->get();
+            $users = DB::table('groups_member')->select('user_id', 'high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','groups_member.group_id','=','groups.id')->where('group_id',$groupId)->get();
             return response(json_encode([
                 'statusMessage' => 'success',
                 'data' => $users->toArray()
@@ -86,7 +86,7 @@ class GroupsMemberController extends Controller
         } else {
             $input = $request->all();
             $groupMember = GroupsMember::create([
-                'role' => $input['role'],
+                // 'role' => $input['role'],
                 'high_score' => $input['high_score']
             ]);
 
@@ -97,7 +97,7 @@ class GroupsMemberController extends Controller
 
                 return response(json_encode([
                     'statusMessage' => 'Success',
-                    'data' => $member->toArray()
+                    'data' => NULL
                 ]), 200);
             } else {
                 return response(json_encode([
@@ -126,7 +126,7 @@ class GroupsMemberController extends Controller
     private function validate2(Request $request) {
         $input = $request->all();
         return Validator::make($input, [
-            'role' => 'required',
+            // 'role' => 'required',
             'high_score' => 'required'
         ]);
     }
diff --git a/app/Http/Controllers/TasksController.php b/app/Http/Controllers/TasksController.php
index 4efef9e3858c5824c2815514c32936ab766a7136..ef9c28229eace372bde8b701b55c90a9479df210 100644
--- a/app/Http/Controllers/TasksController.php
+++ b/app/Http/Controllers/TasksController.php
@@ -8,7 +8,7 @@ use App\Groups;
 use App\TasksMember;
 use Illuminate\Support\Facades\DB;
 use function GuzzleHttp\json_encode;
-class TaskController extends Controller
+class TasksController extends Controller
 {
 
     /**
@@ -23,16 +23,16 @@ class TaskController extends Controller
         $user = $request->user();
         $result = $request->has([
             'group_id',
-            'taskname',
+            'task_name',
             'description',
             'kanban_status'
         ]);
         if ($result) {
             $form = [
                 'group_id' => $request->group_id,
-                'taskname' => $request->taskname,
+                'task_name' => $request->task_name,
                 'description' => $request->description,
-                'kanban_status' => $request->status_kanban
+                'kanban_status' => $request->kanban_status
             ];
             $task = Tasks::create($form);
             return response(json_encode([
@@ -88,14 +88,14 @@ class TaskController extends Controller
             'task_name',
             'description',
             'kanban_status',
-            'complexity'
+            'work_hour'
         ]);
         if ($result) {
             $form = [
-                'task_name' => $request->taskname,
+                'task_name' => $request->task_name,
                 'description' => $request->description,
-                'kanban_status' => $request->status_kanban,
-                'complexity' => $request->complexity
+                'kanban_status' => $request->kanban_status,
+                'work_hour' => $request->work_hour
             ];
             $task = Tasks::find($taskId)->first();
             if ($task) {
@@ -145,7 +145,7 @@ class TaskController extends Controller
             $taskNotIn = DB::table('tasks')
             ->select('tasks.id','tasks.group_id','task_name','description', 'kanban_status', 'work_hour','tasks.created_at','tasks.updated_at', DB::raw('"-" as assignee'))
             ->where([
-                'status_kanban' => $req->status_kanban,
+                'kanban_status' => $req->kanban_status,
                 'tasks.group_id'=> $groupId,
             ])->whereNotIn('id', $idTaskMemberArr);
 
@@ -153,7 +153,7 @@ class TaskController extends Controller
             ->select('tasks.id','tasks.group_id','task_name','description', 'kanban_status', 'work_hour','tasks.created_at','tasks.updated_at','users.name as assignee')
             ->join('tasks_member','tasks.id','=','task_id')
             ->join('users','users.id','=','tasks_member.user_id')->where([
-                'kanban_status' => $req->status_kanban,
+                'kanban_status' => $req->kanban_status,
                 'tasks.group_id'=> $groupId,
             ])->union($taskNotIn)->get();
             return response(json_encode([
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index a9fce09de34fb8f3487d3bd52eb6b077f9c5881c..e031b1bca898c327f295f9d0b4bcc3f234cc22ad 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -7,6 +7,8 @@ use App\User;
 use App\Group;
 use Google_Client;
 use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\DB;
+use function GuzzleHttp\json_encode;
 
 class UserController extends Controller
 {
@@ -30,12 +32,14 @@ class UserController extends Controller
                     ]);
                 } else {
                     // Not Found 
+                    DB::beginTransaction();
                     $user = User::create([
                         'name' => $payload['name'],
                         'email' => $payload['email'],
                         'google_id' => $userid,
                     ]);
                     $token = $user->createToken('accessToken')->accessToken;
+                    DB::commit();
                     $user['token'] = $token;
                     return json_encode([
                         'data' => $user->toArray(),
@@ -76,4 +80,21 @@ class UserController extends Controller
             'statusMessage'=> "success",
         ]), 200);
     }
+
+    public function getUserByEmail($email) {
+        $user = User::where('email',$email)->first();
+
+        if ($user) {
+            $user['token'] = NULL;
+            return response(json_encode([
+                'statusMessage'=> "success",
+                'data' => $user->toArray()
+            ]),200);
+        } else {
+            return response(json_encode([
+                'statusMessage'=> "success",
+                'data' => NULL
+            ]),404);           
+        }
+    }
 }
diff --git a/app/Tasks.php b/app/Tasks.php
index 1d539079240a21644bcf990dcbe10e39be60c348..e0a2a332f11607c976cf874f8281c5d015d449af 100644
--- a/app/Tasks.php
+++ b/app/Tasks.php
@@ -8,8 +8,8 @@ class Tasks extends Model
 {
 
     protected $fillable = [
-        'group_id', 'taskname',
-        'description', 'status_kanban'
+        'group_id', 'task_name',
+        'description', 'kanban_status'
     ];
 
     public function groups()
diff --git a/app/User.php b/app/User.php
index 0f83c51d5e62e7026d8a381270ce2fa9a55b544c..8600660584907a8a327951b67d52affd3c173187 100644
--- a/app/User.php
+++ b/app/User.php
@@ -43,7 +43,7 @@ class User extends Authenticatable
     ];
 
     public static function getGroups($userId) {
-        $groups = DB::table('group_member')->select('user_id','high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','group_member.group_id','=','groups.id')->where('user_id',$userId)->get();
+        $groups = DB::table('groups_member')->select('user_id','high_score','groups.created_at','groups.updated_at','group_id', 'group_name','description')->join('groups','groups_member.group_id','=','groups.id')->where('user_id',$userId)->get();
         return $groups;
     }
 }
diff --git a/database/factories/GroupsMemberFactory.php b/database/factories/GroupsMemberFactory.php
index 0e64ec422b6c2f1053a5275df44b18de73e3b4fd..888277fbf4ca3507d8b6780bbdf9b365dded0b28 100644
--- a/database/factories/GroupsMemberFactory.php
+++ b/database/factories/GroupsMemberFactory.php
@@ -17,7 +17,7 @@ use Faker\Generator as Faker;
 $factory->define(App\GroupsMember::class, function (Faker $faker) {
     return [
         'user_id' => factory('App\User')->create()->id,
-        'role' => $faker->randomElement(Config::get('constants.ROLE')),
+        // 'role' => $faker->randomElement(Config::get('constants.ROLE')),
         'high_score' => $faker->randomNumber
     ];
 });
\ No newline at end of file
diff --git a/database/factories/TasksFactory.php b/database/factories/TasksFactory.php
index 274ba3b8788e28d15d5e04b97666daba557c388d..f42f44c09ae3a4a9228134878320bf82814e2086 100644
--- a/database/factories/TasksFactory.php
+++ b/database/factories/TasksFactory.php
@@ -19,6 +19,6 @@ $factory->define(App\Tasks::class, function (Faker $faker) {
         'task_name' => $faker->sentence($nbWords = 3),
         'description' => array_random([$faker->text($maxNbChars = 50), ""]),
         'kanban_status' => $faker->randomElement(Config::get('constants.KANBAN_STATUS')),
-        'complexity' => $faker->numberBetween($min = 1, $max = 100),
+        'work_hour' => $faker->numberBetween($min = 1, $max = 100),
     ];
 });
\ No newline at end of file
diff --git a/database/migrations/2019_02_19_140125_create_groups_member_table.php b/database/migrations/2019_02_19_140125_create_groups_member_table.php
index 2faf69b6318c1fa1da7ea9ce23159a1e3855dfe5..f4e261e9f408e1e24de9095d210c5ae1e7c80944 100644
--- a/database/migrations/2019_02_19_140125_create_groups_member_table.php
+++ b/database/migrations/2019_02_19_140125_create_groups_member_table.php
@@ -16,7 +16,7 @@ class CreateGroupsMemberTable extends Migration
         Schema::create('groups_member', function (Blueprint $table) {
             $table->unsignedInteger('group_id');
             $table->unsignedInteger('user_id');
-            $table->string('role');
+            // $table->string('role')->default("Nothing");
             $table->unsignedInteger('high_score')->default(0);
             $table->timestamps();
 
diff --git a/database/migrations/2019_02_19_140448_create_tasks_table.php b/database/migrations/2019_02_19_140448_create_tasks_table.php
index dd31b9fab214a56c0b5510d55eaa274b6d1d717d..14a9e7a15ce2cf83bde1c60d577447f9c4e3e688 100644
--- a/database/migrations/2019_02_19_140448_create_tasks_table.php
+++ b/database/migrations/2019_02_19_140448_create_tasks_table.php
@@ -19,7 +19,7 @@ class CreateTasksTable extends Migration
             $table->string('task_name');
             $table->string('description')->default("");
             $table->string('kanban_status')->index();
-            $table->integer('complexity');
+            $table->integer('work_hour');
             $table->timestamps();
 
             $table->foreign('group_id')
diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php
index 712c15a510fe68cbfacebf69357db07733d1404f..a19efefc6b768b1800c16b883bdea38c7b8697bc 100644
--- a/database/seeds/DatabaseSeeder.php
+++ b/database/seeds/DatabaseSeeder.php
@@ -10,7 +10,7 @@ class DatabaseSeeder extends Seeder
      */
     public function run()
     {
-        $this->call(UsersTableSeeder::class);
+        // $this->call(UsersTableSeeder::class);
         $this->call(GroupsTableSeeder::class);
         $this->call(TasksTableSeeder::class);
     }
diff --git a/routes/api.php b/routes/api.php
index abfb33f88bb2bb6ab757221e656d640afed69d93..1a09b5662d5a644561dd3ef7867fa938f6a017dc 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -24,6 +24,7 @@ Route::post('/logout', 'UserController@logOut');
 
 //User
 Route::get('/user/{userId}/groups', 'UserController@getGroups'); //Bisa //Ambil Group yang dipunyai user
+Route::get('/user/email/{email}', 'UserController@getUserByEmail'); //Bisa //Ambil user dengan param email
 
 
 //Task
@@ -54,5 +55,5 @@ Route::delete('/group/{groupId}/member/{userId}', 'GroupsMemberController@delete
 
 // Route::group(['middleware' => 'auth:api'], function()
 // {
-//     Route::resource('tasks','TaskController', ['except' => ['index', 'edit', 'create']]);
+//     Route::resource('tasks','TasksController', ['except' => ['index', 'edit', 'create']]);
 // });
\ No newline at end of file