Skip to content

Commit 2cdb0c4

Browse files
finish todo App Project
0 parents  commit 2cdb0c4

File tree

1,908 files changed

+717288
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,908 files changed

+717288
-0
lines changed

.editorconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 4
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2
16+
17+
[docker-compose.yml]
18+
indent_size = 4

.env.example

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
APP_NAME=Laravel
2+
APP_ENV=local
3+
APP_KEY=
4+
APP_DEBUG=true
5+
APP_URL=http://localhost
6+
7+
LOG_CHANNEL=stack
8+
LOG_DEPRECATIONS_CHANNEL=null
9+
LOG_LEVEL=debug
10+
11+
DB_CONNECTION=mysql
12+
DB_HOST=127.0.0.1
13+
DB_PORT=3306
14+
DB_DATABASE=codewithhafiz
15+
DB_USERNAME=root
16+
DB_PASSWORD=
17+
18+
BROADCAST_DRIVER=log
19+
CACHE_DRIVER=file
20+
FILESYSTEM_DISK=local
21+
QUEUE_CONNECTION=sync
22+
SESSION_DRIVER=file
23+
SESSION_LIFETIME=120
24+
25+
MEMCACHED_HOST=127.0.0.1
26+
27+
REDIS_HOST=127.0.0.1
28+
REDIS_PASSWORD=null
29+
REDIS_PORT=6379
30+
31+
MAIL_MAILER=smtp
32+
MAIL_HOST=mailhog
33+
MAIL_PORT=1025
34+
MAIL_USERNAME=null
35+
MAIL_PASSWORD=null
36+
MAIL_ENCRYPTION=null
37+
MAIL_FROM_ADDRESS="[email protected]"
38+
MAIL_FROM_NAME="${APP_NAME}"
39+
40+
AWS_ACCESS_KEY_ID=
41+
AWS_SECRET_ACCESS_KEY=
42+
AWS_DEFAULT_REGION=us-east-1
43+
AWS_BUCKET=
44+
AWS_USE_PATH_STYLE_ENDPOINT=false
45+
46+
PUSHER_APP_ID=
47+
PUSHER_APP_KEY=
48+
PUSHER_APP_SECRET=
49+
PUSHER_HOST=
50+
PUSHER_PORT=443
51+
PUSHER_SCHEME=https
52+
PUSHER_APP_CLUSTER=mt1
53+
54+
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
55+
VITE_PUSHER_HOST="${PUSHER_HOST}"
56+
VITE_PUSHER_PORT="${PUSHER_PORT}"
57+
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
58+
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

.gitattributes

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
* text=auto
2+
3+
*.blade.php diff=html
4+
*.css diff=css
5+
*.html diff=html
6+
*.md diff=markdown
7+
*.php diff=php
8+
9+
/.github export-ignore
10+
CHANGELOG.md export-ignore
11+
.styleci.yml export-ignore

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/node_modules
2+
/public/build
3+
/public/hot
4+
/public/storage
5+
/storage/*.key
6+
/vendor
7+
.env
8+
.env.backup
9+
.phpunit.result.cache
10+
Homestead.json
11+
Homestead.yaml
12+
auth.json
13+
npm-debug.log
14+
yarn-error.log
15+
/.idea
16+
/.vscode

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Laravel 9 & Vue JS 3 : todoApp
2+
![Screenshot 2022-10-15 214812](https://user-images.githubusercontent.com/90498563/196005253-4840c56c-d1d2-474b-90c8-e7948ef96cd9.png)

app/Actions/Fortify/CreateNewUser.php

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use App\Models\User;
6+
use Illuminate\Support\Facades\Hash;
7+
use Illuminate\Support\Facades\Validator;
8+
use Illuminate\Validation\Rule;
9+
use Laravel\Fortify\Contracts\CreatesNewUsers;
10+
11+
class CreateNewUser implements CreatesNewUsers
12+
{
13+
use PasswordValidationRules;
14+
15+
/**
16+
* Validate and create a newly registered user.
17+
*
18+
* @param array $input
19+
* @return \App\Models\User
20+
*/
21+
public function create(array $input)
22+
{
23+
Validator::make($input, [
24+
'name' => ['required', 'string', 'max:255'],
25+
'email' => [
26+
'required',
27+
'string',
28+
'email',
29+
'max:255',
30+
Rule::unique(User::class),
31+
],
32+
'password' => $this->passwordRules(),
33+
])->validate();
34+
35+
return User::create([
36+
'name' => $input['name'],
37+
'email' => $input['email'],
38+
'password' => Hash::make($input['password']),
39+
]);
40+
}
41+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Laravel\Fortify\Rules\Password;
6+
7+
trait PasswordValidationRules
8+
{
9+
/**
10+
* Get the validation rules used to validate passwords.
11+
*
12+
* @return array
13+
*/
14+
protected function passwordRules()
15+
{
16+
return ['required', 'string', new Password, 'confirmed'];
17+
}
18+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Illuminate\Support\Facades\Hash;
6+
use Illuminate\Support\Facades\Validator;
7+
use Laravel\Fortify\Contracts\ResetsUserPasswords;
8+
9+
class ResetUserPassword implements ResetsUserPasswords
10+
{
11+
use PasswordValidationRules;
12+
13+
/**
14+
* Validate and reset the user's forgotten password.
15+
*
16+
* @param mixed $user
17+
* @param array $input
18+
* @return void
19+
*/
20+
public function reset($user, array $input)
21+
{
22+
Validator::make($input, [
23+
'password' => $this->passwordRules(),
24+
])->validate();
25+
26+
$user->forceFill([
27+
'password' => Hash::make($input['password']),
28+
])->save();
29+
}
30+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Illuminate\Support\Facades\Hash;
6+
use Illuminate\Support\Facades\Validator;
7+
use Laravel\Fortify\Contracts\UpdatesUserPasswords;
8+
9+
class UpdateUserPassword implements UpdatesUserPasswords
10+
{
11+
use PasswordValidationRules;
12+
13+
/**
14+
* Validate and update the user's password.
15+
*
16+
* @param mixed $user
17+
* @param array $input
18+
* @return void
19+
*/
20+
public function update($user, array $input)
21+
{
22+
Validator::make($input, [
23+
'current_password' => ['required', 'string'],
24+
'password' => $this->passwordRules(),
25+
])->after(function ($validator) use ($user, $input) {
26+
if (! isset($input['current_password']) || ! Hash::check($input['current_password'], $user->password)) {
27+
$validator->errors()->add('current_password', __('The provided password does not match your current password.'));
28+
}
29+
})->validateWithBag('updatePassword');
30+
31+
$user->forceFill([
32+
'password' => Hash::make($input['password']),
33+
])->save();
34+
}
35+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?php
2+
3+
namespace App\Actions\Fortify;
4+
5+
use Illuminate\Contracts\Auth\MustVerifyEmail;
6+
use Illuminate\Support\Facades\Validator;
7+
use Illuminate\Validation\Rule;
8+
use Laravel\Fortify\Contracts\UpdatesUserProfileInformation;
9+
10+
class UpdateUserProfileInformation implements UpdatesUserProfileInformation
11+
{
12+
/**
13+
* Validate and update the given user's profile information.
14+
*
15+
* @param mixed $user
16+
* @param array $input
17+
* @return void
18+
*/
19+
public function update($user, array $input)
20+
{
21+
Validator::make($input, [
22+
'name' => ['required', 'string', 'max:255'],
23+
24+
'email' => [
25+
'required',
26+
'string',
27+
'email',
28+
'max:255',
29+
Rule::unique('users')->ignore($user->id),
30+
],
31+
])->validateWithBag('updateProfileInformation');
32+
33+
if ($input['email'] !== $user->email &&
34+
$user instanceof MustVerifyEmail) {
35+
$this->updateVerifiedUser($user, $input);
36+
} else {
37+
$user->forceFill([
38+
'name' => $input['name'],
39+
'email' => $input['email'],
40+
])->save();
41+
}
42+
}
43+
44+
/**
45+
* Update the given verified user's profile information.
46+
*
47+
* @param mixed $user
48+
* @param array $input
49+
* @return void
50+
*/
51+
protected function updateVerifiedUser($user, array $input)
52+
{
53+
$user->forceFill([
54+
'name' => $input['name'],
55+
'email' => $input['email'],
56+
'email_verified_at' => null,
57+
])->save();
58+
59+
$user->sendEmailVerificationNotification();
60+
}
61+
}

0 commit comments

Comments
 (0)