# pi-iv-2027-ta-innovare/project_innovare architecture

> Architecture diagram of the GitHub repository pi-iv-2027-ta-innovare/project_innovare, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/pi-iv-2027-ta-innovare/project_innovare
- Repository: https://github.com/pi-iv-2027-ta-innovare/project_innovare

## Overview

P&D Connect is a role-based R&D opportunity platform. Its documented scientific workflow takes an opportunity from entry through AI-assisted structuring, required competencies, internal-network matching, PIPE/FAPESP maturity pre-analysis, and a human Supervisor decision. The SPA also exposes profiles, dashboards, external problems, network management, and administration. The tree identifies backend domains, but sampled backend source does not show their runtime wiring, so those relationships are not asserted here.

Main entry points: [`frontend/src/App.jsx`](https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/frontend/src/App.jsx) (React application), [`frontend/src/pages/app/oportunidades`](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/oportunidades) (Opportunity screens), [`frontend/src/pages/app/problemas`](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/problemas) (Problem screens), [`frontend/src/pages/app/rede`](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/rede) (Network screens)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Web application"]
  node_spa["React application<br/>[App.jsx]"]
  node_opportunity_ui["Opportunity screens"]
  node_problem_ui["Problem screens"]
  node_network_ui["Network screens"]
  node_dashboard_ui["Role dashboards"]
  node_admin_ui["Admin screens"]
  node_api_client["API client<br/>[pdConnectApi.js]"]
end

subgraph group_workflow["Opportunity workflow"]
  node_api["Django API<br/>[urls.py]"]
  node_opportunities["Opportunity management"]
  node_ai["AI assistance"]
  node_competencies["Required competencies"]
  node_matching["Network matching"]
  node_maturity["Maturity pre-analysis"]
  node_decisions["Human decisions"]
end

subgraph group_domains["Platform domains"]
  node_network["Researcher network"]
  node_organizations["Organizations"]
  node_dashboard["Dashboard data"]
  node_external_problems["External problems"]
end

subgraph group_governance["Access and governance"]
  node_accounts["Accounts and roles"]
  node_settings["Platform settings"]
  node_audit["Audit records"]
  node_notifications["Notifications"]
end

node_user(("Platform user"))

node_user -->|"uses"| node_spa
node_spa -->|"routes to"| node_opportunity_ui
node_spa -->|"routes to"| node_problem_ui
node_spa -->|"routes to"| node_network_ui
node_spa -->|"routes to"| node_dashboard_ui
node_spa -->|"routes to"| node_admin_ui

click node_spa "https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/frontend/src/App.jsx"
click node_opportunity_ui "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/oportunidades"
click node_problem_ui "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/problemas"
click node_network_ui "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/rede"
click node_dashboard_ui "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/painel"
click node_admin_ui "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/admin"
click node_api_client "https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/frontend/src/services/pdConnectApi.js"
click node_api "https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/backend/config/urls.py"
click node_opportunities "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/opportunities"
click node_ai "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/ai"
click node_competencies "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/competencies"
click node_matching "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/matching"
click node_maturity "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/maturity"
click node_decisions "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/decisions"
click node_network "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/network"
click node_organizations "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/organizations"
click node_dashboard "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/dashboard"
click node_accounts "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/accounts"
click node_settings "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/platform_settings"
click node_audit "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/audit"
click node_notifications "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/notifications"
click node_external_problems "https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/opportunities"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_spa,node_opportunity_ui,node_problem_ui,node_network_ui,node_dashboard_ui,node_admin_ui,node_api_client,node_user toneBlue
class node_api,node_opportunities,node_ai,node_competencies,node_matching,node_maturity,node_decisions toneAmber
class node_network,node_organizations,node_dashboard,node_external_problems toneMint
class node_accounts,node_settings,node_audit,node_notifications toneRose
```

## Components

### Web application

- [React application](https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Opportunity screens](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/oportunidades): `frontend/src/pages/app/oportunidades`
- [Problem screens](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/problemas): `frontend/src/pages/app/problemas`
- [Network screens](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/rede): `frontend/src/pages/app/rede`
- [Role dashboards](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/app/painel): `frontend/src/pages/app/painel`
- [Admin screens](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/frontend/src/pages/admin): `frontend/src/pages/admin`
- [API client](https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/frontend/src/services/pdConnectApi.js): `frontend/src/services/pdConnectApi.js`

### Opportunity workflow

- [Django API](https://github.com/pi-iv-2027-ta-innovare/project_innovare/blob/main/backend/config/urls.py): `backend/config/urls.py`
- [Opportunity management](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/opportunities): `backend/apps/opportunities`
- [AI assistance](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/ai): `backend/apps/ai`
- [Required competencies](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/competencies): `backend/apps/competencies`
- [Network matching](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/matching): `backend/apps/matching`
- [Maturity pre-analysis](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/maturity): `backend/apps/maturity`
- [Human decisions](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/decisions): `backend/apps/decisions`

### Platform domains

- [Researcher network](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/network): `backend/apps/network`
- [Organizations](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/organizations): `backend/apps/organizations`
- [Dashboard data](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/dashboard): `backend/apps/dashboard`
- [External problems](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/opportunities): `backend/apps/opportunities`

### Access and governance

- [Accounts and roles](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/accounts): `backend/apps/accounts`
- [Platform settings](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/platform_settings): `backend/apps/platform_settings`
- [Audit records](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/audit): `backend/apps/audit`
- [Notifications](https://github.com/pi-iv-2027-ta-innovare/project_innovare/tree/main/backend/apps/notifications): `backend/apps/notifications`

### Other components

- **Platform user**

## Connections

- Platform user → React application: uses
- React application → Opportunity screens: routes to
- React application → Problem screens: routes to
- React application → Network screens: routes to
- React application → Role dashboards: routes to
- React application → Admin screens: routes to
