Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
0c86d45
Para de versionar o cache de pint/phpstan/rector no backend
tecrodrigocastro Nov 4, 2026
b14d919
Cria os 5 módulos de fase 2/3 (sponsors, suppliers, finance, tasks, e…
tecrodrigocastro Nov 4, 2026
23b2bc4
Padroniza pastas por módulo: Models, Actions, Data, Events, Listeners…
tecrodrigocastro Nov 4, 2026
fdf7358
Fortalece o arch test: Model de um módulo só é usado dentro dele mesmo
tecrodrigocastro Nov 4, 2026
d773e44
Sobe Larastan pro nível 8 e comenta o .env.example variável a variável
tecrodrigocastro Nov 4, 2026
1044911
Adiciona CI do backend: pint, larastan, pest e composer audit
tecrodrigocastro Nov 4, 2026
20c089f
Adiciona scheduler, healthchecks e dev.sh ao infra
tecrodrigocastro Nov 4, 2026
acb18c1
Adiciona ADRs 0001-0004 documentando as decisões da fundação
tecrodrigocastro Nov 4, 2026
c38934f
Aplica o tema Sertão no front-admin e adiciona ESLint
tecrodrigocastro Nov 4, 2026
f6e2313
Adiciona CI do front-admin: lint, typecheck, test e build
tecrodrigocastro Nov 4, 2026
aeac28d
Mede cobertura do Pest na CI com pcov
tecrodrigocastro Nov 4, 2026
2af36dc
Adiciona healthcheck ao scheduler
tecrodrigocastro Nov 4, 2026
c871a78
Reescreve o README do front-admin para o projeto real, remove a versã…
tecrodrigocastro Nov 4, 2026
cd2505e
Adiciona CONTRIBUTING.md e linka no README
tecrodrigocastro Nov 4, 2026
4ef529a
Corrige CI: versiona tests/Unit e tests/Feature vazios, audit não fal…
tecrodrigocastro Nov 4, 2026
562aeea
Corrige formatação dos routes dos 10 módulos originais (cache local d…
tecrodrigocastro Nov 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
79 changes: 79 additions & 0 deletions .github/workflows/backend-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Backend CI

on:
push:
branches: [main]
paths:
- 'backend/**'
- '.github/workflows/backend-ci.yml'
pull_request:
paths:
- 'backend/**'
- '.github/workflows/backend-ci.yml'

defaults:
run:
working-directory: backend

jobs:
pint:
name: Pint
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: none
- uses: ramsey/composer-install@v3
with:
working-directory: backend
- run: vendor/bin/pint --test

larastan:
name: Larastan
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: none
- uses: ramsey/composer-install@v3
with:
working-directory: backend
- run: vendor/bin/phpstan analyse --no-progress

pest:
name: Pest
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: pcov
- uses: ramsey/composer-install@v3
with:
working-directory: backend
- run: cp .env.example .env
- run: php artisan key:generate
- run: vendor/bin/pest --coverage --min=0

composer-audit:
name: Composer audit
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: none
- uses: ramsey/composer-install@v3
with:
working-directory: backend
- run: composer audit --abandoned=report
73 changes: 73 additions & 0 deletions .github/workflows/front-admin-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Front-admin CI

on:
push:
branches: [main]
paths:
- 'front-admin/**'
- '.github/workflows/front-admin-ci.yml'
pull_request:
paths:
- 'front-admin/**'
- '.github/workflows/front-admin-ci.yml'

defaults:
run:
working-directory: front-admin

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: front-admin/package-lock.json
- run: npm ci
- run: npm run lint

typecheck:
name: Typecheck
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: front-admin/package-lock.json
- run: npm ci
- run: npm run typecheck

test:
name: Unit tests
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: front-admin/package-lock.json
- run: npm ci
- run: npm test

build:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: front-admin/package-lock.json
- run: npm ci
- run: npm run build
49 changes: 49 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Contribuindo com a PHPeste Platform

Obrigado por ajudar. Este projeto é feito para o PHPeste e mantido em comunidade — qualquer pessoa pode propor melhorias.

## Antes de abrir uma issue ou PR

- Dá uma olhada no [board do projeto](https://github.com/orgs/PHPeste/projects/2) pra ver o que já está em andamento.
- Pra contexto de produto e arquitetura, leia o [README](README.md) e [`docs/produto.md`](docs/produto.md).
- As decisões de arquitetura ficam registradas em [`docs/adr/`](docs/adr/) — vale conferir antes de propor uma mudança estrutural, pra entender o porquê de uma decisão antes de revisitá-la.

## Rodando o projeto localmente

- **Backend** (`backend/`): `composer install && cp .env.example .env && php artisan key:generate && php artisan migrate`, ou `infra/dev.sh up` pra subir tudo via Docker (MySQL, Redis, Horizon, scheduler, Mailpit).
- **Admin** (`front-admin/`): `npm install && cp .env.example .env && npm run dev`.

Veja a seção "Como rodar" do [README](README.md#como-rodar) para o passo a passo completo.

## Qualidade antes de abrir o PR

Backend:

```bash
cd backend
composer check # pint + phpstan (nível 8) + rector --dry-run + pest
composer audit
```

Front-admin:

```bash
cd front-admin
npm run lint
npm run typecheck
npm test
npm run build
```

O CI (`.github/workflows/`) roda os mesmos comandos em todo PR — rodar localmente antes evita ida e volta.

## Convenções

- **Backend**: módulo novo é `php artisan make:module <Nome>` seguido de `composer update phpeste/<nome>` — nunca uma pasta solta colada em `app/`. Ver `backend/CLAUDE.md` para a estrutura de pastas de um módulo (`Models/Actions/Data/Events/Listeners/Contracts/Http`) e a regra de isolamento entre módulos.
- **Front-admin**: módulo novo segue o formato de `app/modules/login/` (types → services → composables → components → views). Ver `front-admin/CLAUDE.md` e `front-admin/docs/ARCHITECTURE.md`.
- Commits em português, description curta e no imperativo (ex.: "Adiciona X", "Corrige Y").
- PRs pequenos e focados batem mais rápido do que um PR gigante — quando der, prefira quebrar em commits/PRs por assunto.

## Dúvidas

Abra uma issue ou comente na issue existente — não tem burocracia.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ composer update modules/<nome>
```bash
cd front-admin
npm install
cp .env.example .env # NUXT_PUBLIC_API_BASE=http://localhost:8000/api/v1
cp .env.example .env # NUXT_PUBLIC_API_URL=http://localhost:8000/api/v1
npm run dev
```

Expand All @@ -139,4 +139,4 @@ Credenciais de gateway são criptografadas e nunca devolvidas pela API. Webhooks

## Contribuindo

A definir: guia de contribuição, código de conduta e licença.
Ver [`CONTRIBUTING.md`](CONTRIBUTING.md). Código de conduta e licença: a definir.
1 change: 0 additions & 1 deletion backend/.cache/pest/test-results

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading