Introduction
Overview
This project is built on Laravel 11, a modern PHP web application framework known for its elegant syntax and developer-friendly features. The application appears to be set up with multiple authentication systems and uses Tailwind CSS for styling.
Key Features
Multi-Authentication System
- The application implements a multi-auth system allowing different user types to access the platform
- Simple setup process for users to get started
Modern Frontend
- Built with Tailwind CSS for responsive and clean UI
- Uses Alpine.js for lightweight JavaScript interactions
- Vite for fast frontend asset building
API Capabilities
- Support for API token authentication via Laravel Sanctum
- API resources for transforming Eloquent models into API-friendly responses
Feature Flags
- Integration with Laravel Pennant for feature flagging
- Ability to conditionally enable features for specific users
Technology Stack
- Backend: PHP 8.2+, Laravel 11
- Frontend: Tailwind CSS, Alpine.js
- Build Tools: Vite
- Testing: PHPUnit/Pest
- Additional Packages:
- Laravel Breeze for authentication scaffolding
- Spatie Permission for role/permission management
- Laravel Pail for improved logging
- Laravel Tinker for interacting with the application
Getting Started
- Clone the repository
- Install PHP dependencies:
composer install
- Install JavaScript dependencies:
npm install
- Copy
.env.example
to.env
and configure your environment - Generate application key:
php artisan key:generate
- Run migrations:
php artisan migrate
- Build frontend assets:
npm run build
- Start the development server:
php artisan serve
Development Workflow
- Use
npm run dev
to start Vite development server for frontend assets - Laravel's routing system handles HTTP requests
- Blade templates in
resources/views
define the UI - Controllers in
app/Http/Controllers
handle application logic
Testing
The application is set up with PHPUnit/Pest for testing:
- Feature tests in
tests/Feature
- Unit tests in
tests/Unit
- Run tests with
php artisan test
Deployment
The application follows standard Laravel deployment practices and can be deployed to any server that meets Laravel 11's requirements.