Laravel multiple Admin and User roles authentication using Laravel Breeze Where User and Admin roles on registration sent verification link to their registered email address. After email verified should able to login system.
- PHP Version => 7.4 or higher
- Laravel Version => 8 or higher
- MySQL Version => 5.7 or higher
- git clone repository_url
- cd laravel-breeze-web-guard-email-verification
- composer update
- create database and configure .env database connection
- php artisan migrate
- php artisan db:seed
- php artisan serve
- Auth Routes
- User Login : http://127.0.0.1:8000/login
- User Register : http://127.0.0.1:8000/register
- Admin Login : http://127.0.0.1:8000/admin/login
- Admin Register : http://127.0.0.1:8000/admin/register
User Role
- Username : user@yopmail.com
- Password : user@123456
Admin Role
- Username : admin@yopmail.com
- Password : admin@123456
- Authentication Using Laravel Web Gaurd :
- Admin Role Requirement
- Admin Registration Fields
- Name : [ Validation Rules : Accept only strings and space, Required ]
- Email : [ Validation Rules : Accept only valid email address, Required ]
- Password : [ Validation Rules : Accept only valid password min 8 lenght with alphanumeric, Required ]
- Confirm Password : [ Validation Rules : should be same as Password field, Required ]
- On Registration button click send email verification link to registered email address
- Generate 5 dummy sample for Admin role using Factory and Seeder
- Follow PHP/Laravel code standards
- Make Seprate dashboard view ,admin table and Admin model
- Admin Login Fields
- Email : [ Validation Rules : Accept only valid email address, Required ]
- Password : [ Validation Rules : Accept only valid password min 8 length with alphanumeric, Required ]
- On Login button click redirect to Admin dashboard page if credential is validated
- User Role Requirement
- User Registration Fields
- Name : [ Validation Rules : Accept only strings and space, Required ]
- Email : [ Validation Rules : Accept only valid email address, Required ]
- Password : [ Validation Rules : Accept only valid password min 8 lenght with alphanumeric, Required ]
- Confirm Password : [ Validation Rules : should be same as Password field, Required ]
- On Registration button click send email verification link to registered email address
- Generate 5 dummy sample for User role using Factory and Seeder
- Follow PHP/Laravel code standards
- Make Seprate dashboard view ,user table and User model
- User Login Fields
- Email : [ Validation Rules : Accept only valid email address, Required ]
- Password : [ Validation Rules : Accept only valid password min 8 length with alphanumeric, Required ]
- On Login button click redirect to User home page if credential is validated
- Use Laravel's migration scripts for database schema and tables related to further all operations
- Use Laravel's factory and seeders for sample dummy data creations where required
- Use Laravel's validation using Request classes where required
- Use Laravel's Eloquent and Relationships in models where required
- Use camel case for function name and variable name. E.g getProductDetails() , $categoryDetails
- Comment on the above function with short details of that function use or purpose of function creation.
- Reuse the common codes using some helper class functions etc
- Remove unnecessary code and debug points that are not needed
- Avoid unnecessary loops if not required
- Avoid unnecessary variable creations
- Use PHP design patterns where required Design Patterns
- Normalize database tables where required Database Normalization
- Optimize database tables
- Avoid MySQL joins queries if not required
- Avoid MySQL sub queries if it does not require
- For more information, please read the document Code Standard
a) https://www.youtube.com/watch?v=yXjHYTFRTC8 b) https://codeanddeploy.com/blog/laravel/how-to-implement-laravel-8-email-verification c) https://laravel.com/docs/10.x/verification d) https://cerwyn.medium.com/laravel-ui-email-verification-part-i-f40079335e99 e) https://www.youtube.com/watch?v=9aRyMYF0m64
- KEY : VERIFYEMAIL