How mizcausevic-dev/advisor-outreach-orchestrator works
Purpose and principal workflow
Advisor Outreach Orchestrator turns student response lag, academic drift, attendance, and support barriers into prioritized outreach recommendations, owner lanes, and channel-specific playbooks. The main workflow starts when an external HTTP browser or API client requests a page or API endpoint; the FastAPI application reads the local sample dataset through the outreach service and returns rendered HTML or JSON.
Components
HTTP interface and presentation
• HTTP browser or API client — Path: null. External callers request the product’s pages and API endpoints.
• FastAPI application and routes — Path: app/main.py. Defines the HTTP entry point, serves rendered pages, exposes dashboard, queue, lane, student, and sample endpoints, and returns 404 when a student is not found.
• Advisor-facing pages — Path: app/render.py. Builds overview, queue, playbook, and API-summary HTML; its rendering functions call the outreach service to obtain page data.
Outreach decisioning and source data
• Outreach scoring and planning — Path: app/services/outreach_service.py. Loads student records, scores urgency, assigns status, channel and owner lane, creates playbook steps, and derives queue, summary, lane, student, and sample-payload views.
• Sample student dataset — Path: app/data/sample_outreach.json. Supplies the institution, term, and student inputs used by the service; the sampled code shows a file-backed source rather than an external student-system integration.
Relationships
• HTTP browser or API client -> FastAPI application and routes: sends page or API requests that initiate the workflow.
• FastAPI application and routes -> Advisor-facing pages: calls the relevant renderer for HTML page routes.
• Advisor-facing pages -> Outreach scoring and planning: reads summaries, queues, playbooks, lane counts, or sample payloads to populate HTML.
• FastAPI application and routes -> Outreach scoring and planning: calls service methods for JSON endpoints and student lookup.
• Outreach scoring and planning -> Sample student dataset: reads and parses the JSON source when loading records.
• FastAPI application and routes -> HTTP browser or API client: returns rendered HTML or endpoint JSON, including a 404 response for an unknown student.
Coverage limits
The sampled code establishes a local JSON-backed implementation, but not how production student data would enter or refresh. No outbound messaging, CRM connection, persistence of outreach actions, or asynchronous processing is evidenced.
Main entry points: main.py FastAPI Routes · outreach_service.py Outreach Planning · render.py Advisor Pages · sample_outreach.json Sample Student Dataset
Components 5
HTTP Interface & Presentation
- HTTP Client
- FastAPI Routes
app/main.py - Advisor Pages
app/render.py
Outreach Decisioning & Data
- Outreach Planning
app/services/outreach_service.py - Sample Student Dataset
app/data/sample_outreach.json
Connections 6
- HTTP Client → FastAPI Routes: sends requests
- FastAPI Routes → Advisor Pages: calls renderer
- Advisor Pages → Outreach Planning: reads page data
- FastAPI Routes → Outreach Planning: calls service
- Outreach Planning → Sample Student Dataset: reads JSON
- FastAPI Routes → HTTP Client: returns HTML or JSON · Includes a 404 response when a student is not found.