public function store(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name'       => 'required|string|max:255',
            'email'      => 'required|email|max:255|unique:users',
            'password'   => 'required|string|confirmed|min:6',
            'username'   => 'string|max:30',
            'country'    => 'string|max:100',
            'location'   => 'string|max:100',
            'biography'  => 'string|max:255',
            'occupation' => 'string|max:255',
            'website'    => 'string|max:255',
            'image'      => 'string|max:255',
            'gender'     => 'integer',
            'birthday'   => 'date'
        ]);

        if ($validator->fails()) {
            return response()->json(arrayView('phpsoft.users::errors/validation', [
                'errors' => $validator->errors()
            ]), 400);
        }

        $user = AppUser::create($request->all());

        return response()->json(arrayView('phpsoft.users::user/read', [
            'user' => $user
        ]), 201);
    }