O setup do projeto foi baseado no repositório (https://github.com/especializati/setup-docker-laravel)
O projeto laravel foi baseado em (https://github.com/laravel/laravel.git)
Este repositório contém instruções para configurar um ambiente de desenvolvimento Dockerizado para um projeto Laravel, incluindo Dockerfile, docker-compose.yml e configurações necessárias.
Clonar Repositório Clone o repositório principal e os arquivos do Laravel:
git clone https://github.com/especializati/setup-docker-laravel/tree/laravel-11-with-php-8.3
git clone https://github.com/laravel/laravel.git app-laravelConfigurar o Projeto Copie os arquivos Docker e o diretório docker/ para o diretório do projeto Laravel:
cp -rf setup-docker-laravel/* app-laravel/
cd app-laravel/Configurar Variáveis de Ambiente Crie o arquivo .env baseado no exemplo fornecido:
cp .env.example .envIniciar Containers Docker Inicie os containers Docker para o projeto:
docker compose up -dAcessar o Container Para acessar o container da aplicação Laravel:
docker compose exec app bashInstalar Dependências Dentro do container, instale as dependências do projeto Laravel:
composer installGerar Chave do Laravel Ainda dentro do container, gere a chave do projeto Laravel:
php artisan key:generateExecutar Migrations Para rodar as migrations dentro do Laravel:
php artisan migrateInstalar Laravel Breeze (Autenticação) Dentro do container, instale o Laravel Breeze para autenticação:
composer require laravel/breeze --devnpm install
npm run dev ou npm run build
php artisan testCriando usuários fakes para teste
php artisan tinker
\App\Models\Project::factory(10)->create();Mudar o valor a partir da quantidade desejada
Acessar o Projeto Após configurar tudo, o projeto estará disponível em:
- Cadastro de Usuário: O usuário pode se registrar no sistema.
- Login de Usuário: O usuário pode fazer login para acessar seu painel.
- Logout de Usuário: O usuário pode sair da sua conta.
- Criação de Projetos: Usuários podem criar novos projetos.
- Listagem de Projetos: Exibe uma lista de projetos cadastrados.
- Edição de Projetos: Usuários podem editar os detalhes de um projeto.
- Exclusão de Projetos: Usuários podem excluir um projeto.
- Modelo: Laravel utiliza o padrão MVC (Model-View-Controller).
- Model:
Userpara usuários eProjectpara projetos. - Controller:
UserControllerpara login e registro,ProjectControllerpara gerenciamento de projetos. - Views: Arquivos Blade para formularios e exibição de dados.
- Model:
POST /register- Cadastro de usuário.POST /login- Login de usuário.GET /projects- Listagem de projetos.POST /projects/create- Criação de projeto.PUT /projects/{project}/edit- Edição de projeto.DELETE /projects/{project}- Exclusão de projeto.
- Laravel 8.x ou superior.
O projeto utiliza Laravel por sua estrutura organizada e recursos integrados. Como ainda não há muita familiaridade com o framework, foram adotadas abordagens mais diretas e fáceis de compreender.
O padrão MVC foi seguido para separar Model (dados), Controller (lógica) e View (interface), facilitando a manutenção. As soluções implementadas priorizam a clareza e a simplicidade, garantindo um código intuitivo e de fácil adaptação.
O sistema de login se deu a partir do Laravel Breeze e Node, que deixa tudo simples para chegar e usar.
A criação de usuários fakes com Factories também foi algo bem interessante de se criar, tendo em vista o modelo pronto que o laravel produz.
Apesar das dificuldades foi um projeto que gerou bastante empenho e desenvolvimento pessoal.