How kelvnnicolas/saudeconecta works
SaúdeConecta is a two-sided healthcare-services marketplace: professionals create profiles and are discovered by people and organizations seeking care, who can contact and later review them. Businesses also subscribe to publish demands; compatible professionals can express interest, creating an ordinary contact. The Next.js screens use the API client to reach the FastAPI backend, with Supabase handling sign-in and avatar storage and Stripe/Resend supporting billing and email. Relationships for unsampled routes and services follow README-documented capabilities; detailed internal wiring is shown only where source excerpts support it.
Main entry points: models Domain models · routers Marketplace routes · main.py FastAPI app · app Web screens
Components 24
Web application
- Web screens
apps/web/app - API client
apps/web/lib/api.ts - Auth client
apps/web/lib/supabase-client.ts
Marketplace
- Marketplace routes
apps/api/app/routers - Profile service
apps/api/app/services/profile_service.py - Professional search
apps/api/app/services/profissional_service.py - Contact service
apps/api/app/services/contato_service.py - Review service
apps/api/app/services/avaliacao_service.py
Business features
- Business routes
apps/api/app/routers - Analytics route
apps/api/app/routers/analytics.py - Billing service
apps/api/app/services/billing.py - Demand service
apps/api/app/services/demandas.py - Report service
apps/api/app/services/relatorio_service.py - Report calculations
apps/api/app/analytics/relatorio.py
Platform services
- FastAPI app
apps/api/app/main.py - Auth routes
apps/api/app/routers/auth.py - Domain models
apps/api/app/models - Postgres database
Other components
- Marketplace users
- Supabase Auth
- Supabase JWKS
- Supabase Storage
- Stripe
- Resend email
Connections 30
- Marketplace users → Web screens: uses
- Web screens → API client: calls
- Web screens → Auth client: signs in
- Auth client → Supabase Auth: authenticates
- API client → FastAPI app: sends requests
- FastAPI app → Auth routes: dispatches
- FastAPI app → Marketplace routes: dispatches
- FastAPI app → Business routes: dispatches
- FastAPI app → Analytics route: dispatches
- Auth routes → Supabase JWKS: validates tokens
- Marketplace routes → Profile service: handles profiles
- Marketplace routes → Professional search: searches
- Marketplace routes → Contact service: records contacts
- Marketplace routes → Review service: creates reviews
- Business routes → Billing service: handles billing
- Business routes → Demand service: handles demands
- Analytics route → Report service: builds reports
- Report service → Report calculations: calculates metrics
- Profile service → Supabase Storage: uploads avatars
- Contact service → Resend email: sends email
- Billing service → Stripe: manages subscriptions
- Auth routes → Domain models: syncs profiles
- Profile service → Domain models: reads and writes
- Professional search → Domain models: searches
- Contact service → Domain models: reads and writes
- Review service → Domain models: reads and writes
- Billing service → Domain models: reads and writes
- Demand service → Domain models: reads and writes
- Report service → Domain models: reads metrics
- Domain models → Postgres database: persisted in