Deploy your own Laravel website in minutes with a full custom system and design.
This repository provides a solid foundation for starting Laravel projects with fully customizable authentication systems.
Perfect for those who prefer not to use pre-existing packages like Fortify or Breeze and want to build a tailored solution from scratch.
- User Registration
- Email Verification on Registration
- Password Recovery via Email
- Password Change
- Soft Deletes and Hard Deletes for Account
- Middleware for Authorization
- Custom Error Handling
- Unique Email Enforcement
Run the following command in the project root to install PHP and JavaScript dependencies:
composer install && npm install
Create a .env file based on the contents of .env.example:
cp .env.example .env
Make sure to configure your environment variables as needed. Don't forget to put a value for APP_KEY:
php artisan key:generate
The project uses PostgreSQL as the database, managed via Docker for convenience. To start the database, run:
docker-compose up -d
Apply the database migrations:
php artisan migrate
If the database does not exist, only select 'yes' to create it.
To run the website, both the frontend and backend need to be running simultaneously in separate terminals:
npm run dev
php artisan serve
For convenience, all generated emails will be logged in the Laravel log file located at storage/logs/laravel.log. You can check this file to see the email content generated during the application process.
However, if you want to see it working in practice and send actual emails, you can configure an email service that best suits your needs. Laravel supports various email services, such as SMTP, Resend, Mailgun, SendGrid, etc. You can configure the .env file to set up your preferred email service.
Once configured, emails will be sent through the service, and you can see them in your inbox.
The input field error messages are currently set in Brazilian Portuguese, but you can easily switch them to any language.
If you prefer English messages, simply remove the second array from the validate method. By default, Laravel will use English messages when no language array is provided.
- Account Reactivation β Ability for users to reactivate their accounts after a soft delete.
- Login Rate Limiting β Implement rate limiting for login attempts to enhance security.
- Social Login Providers Integration β Ability for users to log in using third-party services like Google, Facebook, etc., via OAuth authentication.
These features will be added in upcoming versions to improve the functionality and security of the application.