How srajankulal27-aiml/fake-social-media-account-detection works
This is a FastAPI-backed fake social-account risk classifier. Users submit one profile, paste profile text, upload a screenshot, or upload a CSV; the service parses or validates inputs, runs feature-engineered model inference, and returns labels, probabilities, risk tiers, and (for predictions) feature contributions. The repository also includes offline data preparation, model training and evaluation, dashboards, and SQLite prediction history. Some dashboard and batch wiring is documented but its implementation was not sampled, so those links rely on README statements.
Main entry points: main.py API and pages · predict.py Inference and attribution · config.py Runtime configuration · train.py Model training
Components 20
Web application
- API and pages
app_api/main.py - Input schemas
app_api/schemas.py - Quick-fill parsing
app_api/quickfill.py - Screenshot extraction
app_api/screenshot.py - Browser interactions
app_api/static/js/app.js - Server-rendered views
app_api/templates
ML pipeline
- Raw data loading
src/data_loader.py - Data cleaning
src/preprocessing.py - Feature engineering
src/features.py - Model training
src/train.py - Model evaluation
src/evaluate.py - Inference and attribution
src/predict.py - Runtime configuration
src/config.py - Trained model
models/best_model.joblib
Audit and results
- Performance dashboard
app_api/templates/performance.html - EDA dashboard
app_api/templates/eda.html - Prediction history
src/database.py - Risk results
app_api/templates/predict.html - Batch results
app_api/templates/batch.html
Other components
- Analyst
Connections 25
- Analyst → Browser interactions: enters profile
README.md - Browser interactions → API and pages: submits requests
README.md - API and pages → Input schemas: validates input
app_api/main.py - API and pages → Quick-fill parsing: uses parser
app_api/main.py - API and pages → Screenshot extraction: uses extraction
app_api/main.py - API and pages → Inference and attribution: runs inference
app_api/main.py - Inference and attribution → Feature engineering: derives features
src/predict.py - Inference and attribution → Trained model: loads pipeline
src/predict.py - Inference and attribution → Risk results: returns prediction
README.md - API and pages → Batch results: serves batch flow
README.md - API and pages → Server-rendered views: renders pages
README.md - Browser interactions → API and pages: requests extraction
README.md - API and pages → Prediction history: reads and clears
app_api/main.py - API and pages → Prediction history: logs predictions
README.md - Raw data loading → Data cleaning: prepares records
- Data cleaning → Model training: cleans training data
- Model training → Feature engineering: engineers features
src/train.py - Model training → Trained model: saves selected model
src/train.py - Model evaluation → Performance dashboard: supplies metrics
README.md - API and pages → Performance dashboard: serves dashboard
README.md - API and pages → EDA dashboard: serves dashboard
README.md - Runtime configuration → Raw data loading: sets data paths
src/data_loader.py - Runtime configuration → Data cleaning: sets split settings
src/preprocessing.py - Runtime configuration → Model training: sets model settings
src/train.py - Runtime configuration → Inference and attribution: sets model path
src/predict.py