Desenvolvendo um Sistema em Laravel — Parte 1: Stack e Ambiente Inicial

Introdução

Este artigo documenta, de forma prática e objetiva, a criação da infraestrutura básica de um sistema web em Laravel, desde a definição da stack até a primeira migração de banco de dados.


A proposta é construir um ambiente de desenvolvimento estável, leve, profissional e livre de dependências comerciais, servindo como base para o desenvolvimento de qualquer aplicação moderna em Laravel.


Definição da Stack

Para garantir um ambiente de desenvolvimento estável, profissional e sustentável a longo prazo, a stack foi dividida em duas camadas distintas: infraestrutura de desenvolvimento e ferramentas de desenvolvimento da aplicação.

Essa separação facilita a manutenção do ambiente, a replicação do projeto em outras máquinas e a futura migração para produção.

Infraestrutura de Desenvolvimento

Essa camada é responsável por fornecer os serviços básicos necessários para a execução da aplicação localmente.

Componentes:

  • XAMPP
    Fornece de forma integrada o Apache, PHP e MySQL, permitindo simular de maneira simples e confiável o ambiente típico de hospedagem utilizado em produção.
  • PHP 8.x
    Linguagem base da aplicação e requisito do Laravel 12, oferecendo desempenho, tipagem mais segura e recursos modernos da linguagem.
  • MySQL
    Sistema de gerenciamento de banco de dados relacional, amplamente suportado por serviços de hospedagem e perfeitamente integrado ao ecossistema Laravel.
  • Git
    Sistema de controle de versões utilizado desde o início do projeto para rastreamento de alterações, colaboração e controle de versões do código-fonte.

Ferramentas de Desenvolvimento da Aplicação

Essa camada corresponde às tecnologias utilizadas diretamente no desenvolvimento do sistema.

Componentes:

  • Laravel 12
    Framework principal da aplicação, responsável pela arquitetura, rotas, ORM, autenticação, validações, filas, eventos e estrutura geral do sistema.
  • Blade
    Motor de templates do Laravel, simples, rápido e integrado ao framework, permitindo criar interfaces limpas sem a complexidade de frameworks JavaScript pesados.
  • Tailwind CSS
    Framework CSS utilitário que permite construir interfaces modernas, responsivas e consistentes com alta produtividade e controle visual.
  • Alpine.js
    Biblioteca JavaScript leve utilizada para interatividade da interface (modais, dropdowns, formulários dinâmicos, etc.), mantendo a simplicidade da aplicação sem necessidade de frameworks SPA.
  • Composer
    Gerenciador de dependências PHP responsável por instalar e atualizar os pacotes do Laravel e suas bibliotecas.
  • Node.js (LTS)
    Utilizado exclusivamente para gerenciamento de dependências de frontend e build de assets (Tailwind, Alpine e Vite).
  • Laravel Sanctum (planejado para as próximas etapas)
    Camada de autenticação baseada em tokens para APIs, que permitirá futuramente a criação de integrações externas e aplicações clientes consumindo os serviços do sistema de forma segura.

Nota técnica:
Ferramentas com licenciamento ambíguo ou dependências comerciais foram evitadas propositalmente, garantindo maior previsibilidade, estabilidade operacional e segurança jurídica para o projeto ao longo do tempo.

Essa stack foi escolhida por equilibrar simplicidade, poder de crescimento, baixo acoplamento tecnológico e excelente suporte da comunidade, oferecendo uma base sólida tanto para desenvolvimento atual quanto para futuras expansões, como integrações externas e módulos de inteligência artificial.


Instalação do Ambiente Local

1. Instalação do XAMPP

Durante a instalação do XAMPP, foram selecionados apenas os seguintes componentes:

  • Apache
  • MySQL
  • PHP
  • phpMyAdmin

Serviços como Perl, Tomcat, FTP e servidores de e-mail foram excluídos para manter o ambiente leve e controlado.

Após a instalação:

  • Apache e MySQL foram iniciados;
  • O acesso a http://localhost confirmou o funcionamento do ambiente.

2. Instalação do Git

Antes de qualquer uso do Composer, o Git foi instalado.

Nota técnica — problema encontrado:
Ao tentar executar comandos do Composer sem o Git, surgia o aviso:

git was not found in your PATH

Solução:
Instalar o Git e, durante a instalação, selecionar a opção:

Use Git from the Windows Command Prompt

3. Instalação do Composer

Com o Git disponível, o Composer foi instalado apontando para o PHP do XAMPP.

Verificação:

composer -V

4. Instalação do Node.js

Foi instalada a versão LTS do Node.js.

Verificação:

node -v
npm -v

Criação do Projeto Laravel

Criado o diretório de trabalho:

C:\projects

Em seguida:

cd C:\projects
composer create-project laravel/laravel meusistema
cd meusistema

Correção de Erros no Ambiente PHP

Nota técnica — problema crítico encontrado:
Durante a criação do projeto, diversos avisos apareceram:

Failed to download ... The zip extension is missing

Causa: A extensão zip não estava habilitada no PHP do XAMPP.

Correção

  1. Abrir: C:\xampp\php\php.ini
  2. Adicionar no final do arquivo: extension=zip
  3. Reiniciar o Apache
  4. Verificar: php -m | findstr zip

Após isso, o Composer passou a funcionar corretamente.


Subindo o Servidor Local

php artisan serve

A aplicação ficou acessível em:

http://127.0.0.1:8000

Configuração do Banco de Dados

Criado o banco:

meusistema

Configuração no arquivo .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=meusistema
DB_USERNAME=root
DB_PASSWORD=

Execução das migrations:

php artisan migrate

Resultado:

create_users_table      DONE
create_cache_table      DONE
create_jobs_table       DONE

Conclusão da Parte 1

Ao final desta etapa, o projeto já possuía:

  • Ambiente de desenvolvimento estável;
  • Laravel 12 funcionando corretamente;
  • Banco de dados configurado;
  • Estrutura base criada com sucesso.

Essa fundação sólida permitirá, nas próximas partes, a implementação da autenticação, arquitetura de dados e demais módulos do sistema.