This project is a Laravel 11 application integrated with Inertia.js, React, Tailwind CSS, and Socialite for social authentication. It also includes Docker support for containerization, a GitHub Actions workflow for continuous integration/deployment, and is configured to deploy on Fly.io using the fly.toml
file.
- Laravel 11 with laravel/framework
- React-based frontend in
resources
- Tailwind CSS for styling
- Socialite for social authentication
- Inertia.js for server-side rendering (
inertiajs/inertia-laravel
) - Docker & GitHub Actions for CI/CD
- Deployment via Fly.io (
fly.toml
)
app
– Application logic, including Models, Policies, Services.bootstrap
– Laravel bootstrapping scripts.config
– Framework and package configuration.database
– Migrations, seeders, and factories.public
– Publicly accessible files and the front controller.resources
– React components, views, and Tailwind CSS files.routes
– Route definitions (web.php
is the main entry point).tests
– Feature and unit tests (ProfileControllerTest.php
, etc.).Dockerfile
– Multi-stage Docker build.fly.toml
– Configuration for Fly.io deployment.composer.json
&composer.lock
– PHP dependencies.package.json
– Node.js dependencies.phpunit.xml
– PHPUnit test configuration.vite.config.js
– Frontend build configuration using Vite.
- Clone the repo and switch to the project directory.
- Copy
.env.example
to.env
and update environment variables:cp .env.example .env
- Install Composer dependencies:
composer install
- Install Node.js dependencies:
npm install
- Generate an application key:
php artisan key:generate
- Run database migrations:
php artisan migrate
Use Vite to build and watch assets:
npm run dev
Serve the application locally:
php artisan serve
Use the Laravel test runner:
php artisan test
Or PHPUnit directly:
vendor/bin/phpunit
A Dockerfile
is provided for containerization. GitHub Actions builds and pushes images to Fly.io. The fly.toml
file has Fly.io deployment config. To deploy manually:
docker build -t your-app-image .
docker tag your-app-image registry.fly.io/your-fly-app:latest
docker push registry.fly.io/your-fly-app:latest
fly deploy