Portal do Investidor — esqueleto Laravel
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
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:
public function run(): void
{
$this->call([
SectorSeeder::class,
OpportunitySeeder::class,
]);
}
Configure a base de dados no .env e depois:
php artisan migrate:fresh --seed
php artisan serve
A API fica disponível em http://localhost:8000/api/v1/...:
GET /api/v1/homeGET /api/v1/sectorsGET /api/v1/sectors/{slug}GET /api/v1/opportunities/search?q=§or=&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, 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.