# spaceline-api/api_5semestre architecture

> Architecture diagram of the GitHub repository spaceline-api/api_5semestre, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/spaceline-api/api_5semestre
- Repository: https://github.com/spaceline-api/api_5semestre

## Overview

SpaceLine is a mobile application and API for managing linguistic-service work. Staff and clients use the mobile app to submit requests, manage clients and contacts, prepare quotes, and track service orders; translators can receive and respond to work invitations. The API exposes these domains alongside authentication, translator/resource management, allocations, and support. The README documents further capabilities such as staged workflows and pricing, but sampled source does not establish all their implementation or wiring; those links are therefore omitted.

Main entry points: [`apps/mobile/src/app/_layout.tsx`](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/app/_layout.tsx) (Mobile app), [`apps/server/app/routes.py`](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/routes.py) (API router), [`apps/server/app/modules/service_orders/routes.py`](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/routes.py) (Orders and invites), [`apps/server/app/modules/quotes/routes.py`](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/quotes/routes.py) (Requests and quotes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mobile["Mobile application"]
  node_mobile["Mobile app<br/>[_layout.tsx]"]
  node_auth_ui["Login<br/>[LoginPage.tsx]"]
  node_client_ui["Clients and contacts<br/>[ClientsPage.tsx]"]
  node_request_ui["Service requests<br/>[NewRequestPage.tsx]"]
  node_quote_ui["Quotes<br/>[quotesService.ts]"]
  node_orders_ui["Service orders"]
  node_invite_ui["Translator invites<br/>[MyInvitesPage.tsx]"]
  node_support_ui["Support chat<br/>[SupportPage.tsx]"]
end

subgraph group_api["API domains"]
  node_api["API router<br/>[routes.py]"]
  node_auth_routes["Authentication<br/>[routes.py]"]
  node_client_routes["Clients and contacts<br/>[routes.py]"]
  node_quote_routes["Requests and quotes<br/>[routes.py]"]
  node_order_routes["Orders and invites<br/>[routes.py]"]
  node_translator_routes["Translators and resources<br/>[routes.py]"]
  node_allocation_routes["Allocations<br/>[routes.py]"]
  node_support_routes["Support agent endpoint<br/>[support_router.py]"]
end

subgraph group_services["Business services"]
  node_auth_service["Login service<br/>[login_service.py]"]
  node_quote_service["Quote and request services<br/>[quote_service.py]"]
  node_order_service["Order service"]
  node_invite_service["Invite service<br/>[invite_service.py]"]
  node_translator_service["Translator service"]
  node_support_agents["Support agent logic<br/>[agents.py]"]
end

subgraph group_integrations["External services"]
  node_database[("Application database<br/>[database.py]")]
  node_supabase_auth["Supabase Auth"]
end

node_user(("Staff or client"))

node_user -->|"uses"| node_mobile
node_mobile -->|"opens"| node_auth_ui
node_mobile -->|"opens"| node_client_ui
node_mobile -->|"opens"| node_request_ui
node_mobile -->|"opens"| node_quote_ui
node_mobile -->|"opens"| node_orders_ui
node_mobile -->|"opens"| node_invite_ui
node_mobile -->|"opens"| node_support_ui
node_api -->|"dispatches"| node_auth_routes
node_api -->|"dispatches"| node_client_routes
node_api -->|"dispatches"| node_quote_routes
node_api -->|"dispatches"| node_order_routes
node_api -->|"dispatches"| node_translator_routes
node_api -->|"dispatches"| node_allocation_routes
node_api -->|"dispatches"| node_support_routes
node_auth_routes -->|"calls"| node_auth_service
node_auth_service -->|"authenticates"| node_supabase_auth
node_quote_routes -->|"calls"| node_quote_service
node_quote_routes -->|"gets session"| node_database
node_order_routes -->|"calls"| node_order_service
node_order_routes -->|"calls"| node_invite_service
node_order_routes -->|"gets session"| node_database
node_translator_routes -->|"calls"| node_translator_service
node_support_routes -.->|"dispatches"| node_support_agents

click node_mobile "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/app/_layout.tsx"
click node_auth_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/auth/pages/LoginPage.tsx"
click node_client_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/clients/pages/ClientsPage.tsx"
click node_request_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/requests/pages/NewRequestPage.tsx"
click node_quote_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/quotes/services/quotesService.ts"
click node_orders_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/service-orders/pages/ServiceOrdersPage.tsx"
click node_invite_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/invites/pages/MyInvitesPage.tsx"
click node_support_ui "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/support-agent/pages/SupportPage.tsx"
click node_api "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/routes.py"
click node_auth_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/auth/routes.py"
click node_client_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/clients/routes.py"
click node_quote_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/quotes/routes.py"
click node_order_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/routes.py"
click node_translator_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/translators/routes.py"
click node_allocation_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/allocations/routes.py"
click node_support_routes "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/support_agents/inngest/router/support_router.py"
click node_auth_service "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/auth/services/login_service.py"
click node_quote_service "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/quotes/services/quote_service.py"
click node_order_service "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/services/service_order_service.py"
click node_invite_service "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/services/invite_service.py"
click node_translator_service "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/translators/services/translator_service.py"
click node_support_agents "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/support_agents/adk/agents.py"
click node_database "https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/shared/database.py"

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_mobile,node_auth_ui,node_client_ui,node_request_ui,node_quote_ui,node_orders_ui,node_invite_ui,node_support_ui,node_user toneBlue
class node_api,node_auth_routes,node_client_routes,node_quote_routes,node_order_routes,node_translator_routes,node_allocation_routes,node_support_routes toneAmber
class node_auth_service,node_quote_service,node_order_service,node_invite_service,node_translator_service,node_support_agents toneMint
class node_database,node_supabase_auth toneRose
```

## Components

### Mobile application

- [Mobile app](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/app/_layout.tsx): `apps/mobile/src/app/_layout.tsx`
- [Login](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/auth/pages/LoginPage.tsx): `apps/mobile/src/modules/auth/pages/LoginPage.tsx`
- [Clients and contacts](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/clients/pages/ClientsPage.tsx): `apps/mobile/src/modules/clients/pages/ClientsPage.tsx`
- [Service requests](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/requests/pages/NewRequestPage.tsx): `apps/mobile/src/modules/requests/pages/NewRequestPage.tsx`
- [Quotes](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/quotes/services/quotesService.ts): `apps/mobile/src/modules/quotes/services/quotesService.ts`
- [Service orders](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/service-orders/pages/ServiceOrdersPage.tsx): `apps/mobile/src/modules/service-orders/pages/ServiceOrdersPage.tsx`
- [Translator invites](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/invites/pages/MyInvitesPage.tsx): `apps/mobile/src/modules/invites/pages/MyInvitesPage.tsx`
- [Support chat](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/mobile/src/modules/support-agent/pages/SupportPage.tsx): `apps/mobile/src/modules/support-agent/pages/SupportPage.tsx`

### API domains

- [API router](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/routes.py): `apps/server/app/routes.py`
- [Authentication](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/auth/routes.py): `apps/server/app/modules/auth/routes.py`
- [Clients and contacts](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/clients/routes.py): `apps/server/app/modules/clients/routes.py`
- [Requests and quotes](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/quotes/routes.py): `apps/server/app/modules/quotes/routes.py`
- [Orders and invites](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/routes.py): `apps/server/app/modules/service_orders/routes.py`
- [Translators and resources](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/translators/routes.py): `apps/server/app/modules/translators/routes.py`
- [Allocations](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/allocations/routes.py): `apps/server/app/modules/allocations/routes.py`
- [Support agent endpoint](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/support_agents/inngest/router/support_router.py): `apps/server/app/modules/support_agents/inngest/router/support_router.py`

### Business services

- [Login service](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/auth/services/login_service.py): `apps/server/app/modules/auth/services/login_service.py`
- [Quote and request services](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/quotes/services/quote_service.py): `apps/server/app/modules/quotes/services/quote_service.py`
- [Order service](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/services/service_order_service.py): `apps/server/app/modules/service_orders/services/service_order_service.py`
- [Invite service](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/service_orders/services/invite_service.py): `apps/server/app/modules/service_orders/services/invite_service.py`
- [Translator service](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/translators/services/translator_service.py): `apps/server/app/modules/translators/services/translator_service.py`
- [Support agent logic](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/modules/support_agents/adk/agents.py): `apps/server/app/modules/support_agents/adk/agents.py`

### External services

- [Application database](https://github.com/spaceline-api/api_5semestre/blob/develop/apps/server/app/shared/database.py): `apps/server/app/shared/database.py`
- **Supabase Auth**

### Other components

- **Staff or client**

## Connections

- Staff or client → Mobile app: uses
- Mobile app → Login: opens
- Mobile app → Clients and contacts: opens
- Mobile app → Service requests: opens
- Mobile app → Quotes: opens
- Mobile app → Service orders: opens
- Mobile app → Translator invites: opens
- Mobile app → Support chat: opens
- API router → Authentication: dispatches
- API router → Clients and contacts: dispatches
- API router → Requests and quotes: dispatches
- API router → Orders and invites: dispatches
- API router → Translators and resources: dispatches
- API router → Allocations: dispatches
- API router → Support agent endpoint: dispatches
- Authentication → Login service: calls
- Login service → Supabase Auth: authenticates
- Requests and quotes → Quote and request services: calls
- Requests and quotes → Application database: gets session
- Orders and invites → Order service: calls
- Orders and invites → Invite service: calls
- Orders and invites → Application database: gets session
- Translators and resources → Translator service: calls
- Support agent endpoint → Support agent logic: dispatches
