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://localhostconfirmou 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
- Abrir:
C:\xampp\php\php.ini - Adicionar no final do arquivo:
extension=zip - Reiniciar o Apache
- 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.