Skip to content

SamuelScar/VitaFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VitaFlow

Ambiente Docker para desenvolvimento de um monolito Laravel com PostgreSQL, Livewire e assets via Node 22/Vite.

Estrutura

docker/              # Imagem local da aplicacao
docs/                # Documentacao funcional e tecnica do sistema
docker-compose.yml   # Servicos app + worker + db
src/                 # Aplicacao Laravel

Documentacao

A documentacao do sistema fica separada por assunto em docs/:

Servicos

Subir o ambiente

As variaveis usadas no projeto ficam no .env da raiz, separadas por comentarios entre Docker e Laravel. Use o .env.example como referencia.

docker compose up -d --build

O container da aplicacao ja inicia o Apache automaticamente e ajusta as permissoes de escrita do Laravel em storage/ e bootstrap/cache/. Isso evita erro de permissao ao usar o projeto em outra maquina.

Para subir o ambiente com o Vite dev server junto, altere no .env:

RUN_VITE_DEV=true

Ao iniciar, o container instala automaticamente as dependencias do Composer, executa as migrations e, quando o Vite estiver habilitado, instala as dependencias do npm. As instalacoes so sao repetidas quando os arquivos de lock mudam. As pastas vendor e node_modules ficam em volumes Docker separados para manter compatibilidade entre Windows e Linux.

Para acompanhar as etapas de inicializacao no terminal:

docker compose logs -f app

Com RUN_VITE_DEV=false, o Vite nao inicia automaticamente. Nesse caso, gere os assets com docker compose exec app npm run build ou rode o dev server manualmente com docker compose exec app npm run dev -- --host 0.0.0.0.

Recriar a base Laravel do zero

Esta etapa so e necessaria se a pasta src/ estiver vazia e o projeto precisar ser recriado do zero:

docker compose run --rm app composer create-project laravel/laravel .
docker compose run --rm app composer require livewire/livewire

Depois de criar a base, confira no .env da raiz se o Laravel esta usando PostgreSQL:

DB_CONNECTION=pgsql
DB_HOST=db
DB_PORT=5432
DB_DATABASE=vitaflow
DB_USERNAME=vitaflow
DB_PASSWORD=vitaflow

Depois:

docker compose exec app php artisan migrate

Dados demonstrativos

Para preencher o sistema com um volume alto de dados para apresentacao:

docker compose exec app php artisan db:seed --class=DemoSeeder

O comando pode ser executado novamente sem duplicar os registros demonstrativos. Ele cria:

  • 150 usuarios doadores com carteirinhas;
  • 30 locais de coleta;
  • 240 registros de estoque, cobrindo todos os tipos sanguineos em cada local;
  • 60 campanhas em diferentes periodos e status;
  • mais de 1.600 agendamentos e cerca de 200 doacoes.

Credenciais para demonstracao:

Administrador
E-mail: admin@vitaflow.local
Senha: Admin@123

Doador
E-mail: doador001@vitaflow.local
Senha: Doador@123

Rodar em outra maquina

Com o Laravel ja criado em src/, rode:

docker compose up -d --build
docker compose exec app php artisan migrate

Use comandos do Laravel e Composer dentro do container:

docker compose exec app php artisan ...
docker compose exec app composer ...

Para parar:

docker compose down

About

VitaFlow é um sistema web para organização e acompanhamento de campanhas de doação de sangue, permitindo cadastro de campanhas, locais de coleta, horários, agendamentos, controle de comparecimento e geração de relatórios de participação.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors