How umid4219/call-server works
This is a FastAPI call-log collection and reporting service. A device submits call records; the service normalizes call types, timestamps, and durations, filters records older than 48 hours, and appends accepted rows to CSV. Browser clients can view aggregate statistics or download a two-sheet Excel report. The route implementations and storage/report logic are all in main.py; index.html is served as the home page, but its contents are not provided.
Main entry points: main.py FastAPI app · index.html Home page
Components 10
Log ingestion
- Receive and normalize
main.py
CSV storage
- Call-log CSV
main.py
Reporting
- Statistics endpoint
main.py - Excel report endpoint
main.py - Excel report file
main.py - Home endpoint
main.py - Home page
index.html
Other components
- Call-log device
- Browser user
- FastAPI app
main.py
Connections 13
- Call-log device → Receive and normalize: posts records
- FastAPI app → Receive and normalize: dispatches
- FastAPI app → Statistics endpoint: dispatches
- FastAPI app → Excel report endpoint: dispatches
- FastAPI app → Home endpoint: dispatches
- Receive and normalize → Call-log CSV: appends rows
- Browser user → FastAPI app: requests
- Statistics endpoint → Call-log CSV: reads
- Excel report endpoint → Call-log CSV: reads
- Excel report endpoint → Excel report file: writes workbook
- Excel report endpoint → Browser user: returns file
- Home endpoint → Home page: reads
- Home endpoint → Browser user: returns page