# 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=§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](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.