Files
Investidor-V2/README.md
T
paulomassigue 14ad2f60c5
tests / ci (push) Canceled after 0s
header:navbar e footer
2026-10-19 13:07:16 +02:00

82 lines
2.8 KiB
Markdown

# Portal do Investidor — InvesteMoz
## Executar esta plataforma no Windows
Consulte [Execução local](deploy/local/README.md). Com Docker Desktop iniciado,
execute `./deploy/local/start.ps1`. Depois da preparação, `composer run dev`
inicia a plataforma em http://127.0.0.1:8000.
O ambiente local usa uma base PostgreSQL/PostGIS de demonstração isolada.
Não execute os exemplos históricos de criação de um projecto novo sobre esta
instalação ou sobre dados existentes.
## Referência histórica do pacote inicial
Estes ficheiros correspondem ao domínio de **sectores**, **oportunidades** e
**manifestações de interesse** do Portal do Investidor. Foram desenhados
para casar exactamente com os dados de exemplo usados no protótipo React
(`PortalInvestidor.jsx`) — mesmos slugs de sector, mesmas referências de
oportunidade.
## Como instalar num projecto Laravel novo
```bash
composer create-project laravel/laravel portal-investidor
cd portal-investidor
```
Copie as pastas deste pacote para dentro do projecto (substituindo os
ficheiros correspondentes):
```
app/Models/*.php -> app/Models/
app/Http/Controllers/Api/V1/*.php -> app/Http/Controllers/Api/V1/
app/Http/Requests/*.php -> app/Http/Requests/
database/migrations/*.php -> database/migrations/
database/seeders/*.php -> database/seeders/
routes/api.php -> routes/api.php (substitui o existente)
```
Registe os seeders em `database/seeders/DatabaseSeeder.php`:
```php
public function run(): void
{
$this->call([
SectorSeeder::class,
OpportunitySeeder::class,
]);
}
```
Configure a base de dados no `.env` e depois:
```bash
php artisan migrate:fresh --seed
php artisan serve
```
A API fica disponível em `http://localhost:8000/api/v1/...`:
- `GET /api/v1/home`
- `GET /api/v1/sectors`
- `GET /api/v1/sectors/{slug}`
- `GET /api/v1/opportunities/search?q=&sector=&province=&maturity_level=`
- `GET /api/v1/opportunities/{slug}`
- `POST /api/v1/interest-requests`
## Ligar ao frontend React
A homepage mantida é `resources/js/pages/PortalInvestidor.tsx`, já ligada às
APIs do portal. O catálogo e os novos percursos estão em
`resources/js/pages/investment/`; a extensão usa `/api/v1/investment` e mantém
os endpoints anteriores. O ficheiro JSX antigo é um protótipo não montado.
## Nota
A aplicação Laravel/React está executável localmente. A extensão do catálogo,
manifestações, perfil, empresas declaradas, conversa e notificações está documentada
em [Unificação do portal](docs/investmoz/unification/README.md), com contratos de API,
migrações, backups verificados, testes e limites da entrega. A consolidação da outra
máquina foi adiada pelo proprietário para uma fase futura.