Automated Laravel TALL-stack installation with superpowers.

Overview

Tall-Install Banner

Easy command to install the TALL-stack & jumpstart development 🚀

Run Package Tests Run Laravel Tests (Pest) (normal version) Run Laravel Tests (Pest) (DDD-version)

This package provides a simple artisan command for Laravel that can fully scaffold your application and jumpstart development.

It basically runs the installation process for all of your favourite packages, so that you can jumpstart development!

👉 Check out a demo-project file's structure

👉 Check out a demo-project with an automatically generated Domain-Driven file structure

Features

  1. It runs the regular installation process for your favourite TALL-tools, so that you don't have to 🚀
  2. Install Pest instead of PHPUnit ⚙️
  3. Configure a Domain-Driven file structure (DDD)
  4. Install Browsersync for Valet users ⚡️

What does it install?

What can it install?

This package can also do the following things for you:

Roadmap

  • Fortify installation

The intention of this package is to do all the backend installation and not force you into anything frontend-wise.

Missing your favourite package? Feel free to submit an issue or a PR with your proposal.


Contents

  1. Installation & usage
  2. Configure DDD
  3. Install Pest
  4. Install Browsersync

Installation & usage

To get started, you need a plain Laravel installation:

laravel new name
# or
composer create-project laravel/laravel name

Install the package via composer:

composer require ralphjsmit/tall-install

Now run the tall-install command:

php artisan tall-install

You can use the following flags to install a particular package.

Note: you can only use this command on a plain Laravel installation. Otherwise I cannot guarantee the correct result.

Configure DDD with tall-install --ddd

You may use the --ddd or -d flag to configure DDD:

php artisan tall-install --ddd

This is the most powerful feature, as it rewrites your /app directory to this:

/src/Support
     ├── App
         ├── Console
         ├── Exceptions
         ├── HTTP
         ├── Providers
         ├── Application.php
     ├── Models
         User.php
     ├── View/Components/Layouts
         App.php
         Admin.php
src/Domain
     // Add your own 'domains' here. Domains are where the business logic of the application is.
     ├── Invoices...
     ├── Customers...
src/App
     // Add your own 'apps' here. Apps are the exposed to the outside (like APIs, a dashboard, a separate admin panel) or are your infrastructure (jobs).
     ├── Console
     ├── Jobs
     ├── Api

For me, once I started using DDD I never wanted anything else. A good reference is the Laravel Beyond CRUD course by Brent Roose.

Install Pest with tall-install --pest

You may use the --pest or -p flag to configure Pest:

php artisan tall-install --pest

Install Browsersync with tall-install --browsersync

You may use the --browsersync or -b flag to configure Browsersync for Laravel Valet:

php artisan tall-install --browsersync

This will append the following code to your webpack.mix.js file:

/* Browsersync configuration with Laravel Valet */
mix.disableSuccessNotifications();

const domain = 'valetDomain.test';
const homedir = require('os').homedir();

mix.browserSync({
    proxy: 'https://' + domain,
    host: domain,
    open: 'external',
    https: {
        key: homedir + '/.config/valet/Certificates/' + domain + '.key',
        cert: homedir + '/.config/valet/Certificates/' + domain + '.crt'
    },
    notify: false, //Disable notifications
})

By default it takes the current folder name as the domain for Valet. You may specify a custom domain with the --url flag:

php artisan tall-install --browsersync --url=custom.test

Cleaning up

You can remove the package from your Composer dependnecies after you've run the tall-install command:

composer remove ralphjsmit/tall-install

General

🐞 If you spot a bug, please submit a detailed issue and I'll try to fix it as soon as possible.

🔐 If you discover a vulnerability, please review our security policy.

🙌 If you want to contribute, please submit a pull request. All PRs will be fully credited. If you're unsure whether I'd accept your idea, feel free to contact me!

🙋‍♂️ Ralph J. Smit

Comments
Releases(1.4.0)
Owner
Ralph J. Smit
Laravel Developer. Writer.
Ralph J. Smit
Laravel Livewire (TALL-stack) form generator with realtime validation, file uploads, array fields, blade form input components and more.

TALL-stack form generator Laravel Livewire, Tailwind forms with auto-generated views. Support Contributions Features This is not an admin panel genera

TinaH 622 Jan 2, 2023
Livewire Notifier is a simple notifications system with zero dependencies above TALL-stack

Livewire Notifier is a simple notifications system with zero dependencies above TALL-stack (Tailwind CSS, Alpine.JS, Laravel and Livewire).

CodeSPB 18 Jul 27, 2022
Gallium is a TALL stack starter kit offering a robust set of options enabling you to get up and running in a snap.

Very short description of the package This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention o

null 1 Nov 20, 2021
A collection of tools for rapidly building beautiful TALL stack interfaces, designed for humans.

Filament is a collection of tools for rapidly building beautiful TALL stack interfaces, designed for humans. Packages Admin Panel • Documentation • De

Filament 5.4k Jan 4, 2023
Example of using TALL stack to select country phone code.

Select country phone code using TALL stack About Example of using TALL stack to select country phone code. Each item represents a country. Each item h

Fernando Chagas 3 Jul 27, 2022
Source for "Getting Started with TALL stack" post

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Kim Hallberg 2 Sep 16, 2022
A TALL (Tailwind CSS, Alpine.js, Laravel and Livewire) Preset for Laravel

Laravel TALL Preset A front-end preset for Laravel to scaffold an application using the TALL stack, jumpstarting your application's development. If yo

Laravel Frontend Presets 1.8k Jan 7, 2023
A TALL-based Laravel Livewire component to replace the (multiple) select HTML input form with beautiful cards.

TALL multiselect cards A TALL-based Laravel Livewire component to replace the (multiple) select HTML input form with beautiful cards. Table of content

Frederic Habich 19 Dec 14, 2022
Smeify is a Stable Automated Solution for Airtime and Data businesses in Nigeria, this package helps you integrate smeify easily into your laravel application.

Smeify is a Stable Automated Solution for Airtime and Data businesses in Nigeria, this package helps you integrate smeify easily into your laravel application.

Ogundiran Adewale Charles 2 Jul 27, 2022
Simple Video is a automated H264 encryption system built on Lumen Laravel Framework

Simple Video is a automated H264 encryption system built on Lumen Laravel Framework

Azril Nazli Alias 4 Oct 5, 2022
This is a Composer plugin that provides an automated version of Country Codes database.

Country Codes This is a Composer plugin that provides an automated version of Country Codes database. This database is include: country iso codes, cou

Robert Nicjoo 19 Sep 3, 2022
Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups, previously github.com/hyn/multi-tenant

The unobtrusive Laravel package that makes your app multi tenant. Serving multiple websites, each with one or more hostnames from the same codebase. B

Tenancy 2.4k Jan 3, 2023
Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups.

Tenancy for Laravel Enabling awesome Software as a Service with the Laravel framework. This is the successor of hyn/multi-tenant. Feel free to show su

Tenancy 1.1k Dec 30, 2022
Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups, previously

Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups, previously

Tenancy 2.4k Jan 3, 2023
Laravel Real-time chat app demo with React, Laravel Echo, Breeze, Socket.io, Redis, Inertia.js, TailwindCSS stack.

Laravel Real-time Chat App You can build yours from scratch with the following Medium article https://medium.com/@sinan.bekar/build-a-real-time-chat-a

Sinan Bekar 9 Oct 3, 2022
A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

Livewire 17.7k Jan 1, 2023
Real world Conduit App based on Laravel Livewire stack

Laravel Livewire codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API. Demo Github

Ricardo Sawir 18 Nov 14, 2022
Viewi for Laravel: Build full-stack and completely reactive user interfaces with PHP.

[WIP] Laravel Viewi This is just a proof-of-concept. Don't use it in production! Viewi for Laravel: Build full-stack and completely reactive user inte

Protone Media 5 Jan 26, 2022
Un sitio web de películas realizado con Laravel y TailwindCSS para la Beca Neoris en Programación Full-Stack dictada por la Universidad Tecnológica Nacional.

Teatralidad Un sitio web realizado con Laravel y TailwindCSS para la Beca Neoris en Programación Full-Stack dictada por la Universidad Tecnológica Nac

Cristian Diego Góngora Pabón 2 Jan 14, 2022