Welcome to the Laravel Starter Project! This repository provides a kickstart setup for Laravel version 11, incorporating various essential packages and features. It's designed to streamline your Laravel application development process.
- Laravel Breeze (Used only backend code for authentication)
- Spatie Roll and Permission
- Laravel Telescope (Elegant debug assistant for local development)
- Laravel Pulse (Application's performance Monitoring)
- Laravel Clockwork (Request Monitoring)
- Laravel Horizon (Job And Queue manage)
- Laravel Settings (Personal Package for application settings)
- Laravel Media Gallery (Personal Package for file management)
- Laravel Activity Log (Track User Activity)
- Beautiful Log Viewer for local and production
- Laravel Sweet Alert
- Laravel Pint For code style fixing
Utilizing the admintoolkit-html repository as our Dashboard Template. Explore this open-source admin template for more insights and details.
We acknowledge the contributors for their valuable creation.
- Laravel Database Notification
- Api authentication setup with default token
- Api authentication setup with Sanctum
- Setup Role and permission with CRUD
- User Table showing and CRUD Complete
- Dashboard templating with Responsive Sidebar
- Use dark mode and light mode
- Show user notification
- Show User Activity log
- Central Media Gallery
- Editor JS for Content writing
- Application Settings setup
- User Timezone and Language setup by her location
-
Install the project with Composer:
composer create-project anisaronno/laravel-starter
-
Switch to the repository folder:
cd laravel-starter
-
Setup environment variables for the database and email.
-
Run database migrations:
php artisan migrate
-
Run database seeding:
php artisan db:seed
-
Run Jobs:
php artisan horizon
or
php artisan queue:work
or
php artisan schedule:run
-
Run command for development:
npm run dev
for frontend build:
npm run build
-
Start the local development server:
php artisan serve
Now, access the server at http://localhost:8000.
To start the Laravel Starter Project with Docker, you can utilize the provided docker-compose.yml
file. Follow these steps:
-
Ensure Docker is installed on your system.
-
Create a
docker-compose.yml
file in the root directory of your project with the following content:
version: '3'
services:
# Define your services here (e.g., nginx, php, mysql, etc.)
# Example services:
nginx:
image: nginx:alpine
# Add your nginx configurations
php:
image: php:8.2-fpm
# Add your PHP configurations
# Add other necessary services as required.
-
Define the required services such as nginx, php, MySQL, etc., in the
docker-compose.yml
file based on your project's needs. -
Once the
docker-compose.yml
file is configured, run the following command to start the services:
docker-compose up -d
- Access your Laravel application at http://localhost:8000 or the specified port as per your configurations.
This project utilizes Continuous Integration/Continuous Deployment (CI/CD) for automated deployment via FTP, following GitFlow principles for merge requests.
Follow GitFlow principles to manage merge requests:
- Feature Branches: Develop new features in separate branches.
- Pull Requests: Submit pull requests to merge features into the
develop
branch. - Merge to Master: Merge from
develop
tomaster
for production-ready code.
To deploy your project:
-
Configure necessary environment variables in GitHub Settings:
- SERVER: Your FTP server address.
- USERNAME: Your FTP username.
- PASSWORD: Your FTP password.
-
Upon merging into the
master
branch, GitHub Actions automates deployment to your specified FTP server.
The Laravel Self Updater feature streamlines the process of updating your Laravel Starter application, making it easy to manage and deploy updates with minimal effort. Here’s how to use it:
- Automatically checks for updates.
- Initiates updates with simple Artisan commands.
-
Check for Updates: Run the following command to check for available updates.
php artisan update:check
-
Initiate Update: Use the following command to initiate the update process.
php artisan update:initiate {version?}
Replace
{version?}
with a specific version number if desired; otherwise, it will initiate the update for the latest version.
Ensure to handle any potential errors during the update process gracefully. Implement logging to monitor any issues that arise during updates.
For guidelines on contributing to this project, refer to the Contribution Guide.
This application is open-source software licensed under the MIT license.