Anomaly Explorer is an entry level full-stack web application that allows users to upload CSV files and automatically detect statistical anomalies in numeric signals.
The application features a FastAPI backend for data processing and a lightweight JavaScript frontend for visualization.
- Upload CSV files directly from the browser
- Automatic detection of anomalies using statistical thresholds
- Interactive line plot with anomaly markers
- Feature selection for multi-column datasets
- Tabular overview of detected anomalies
- Clean, responsive dashboard-style UI
- The user uploads a CSV file via the frontend.
- The frontend sends the file to the backend using a REST API.
- The FastAPI backend:
- parses the CSV
- extracts numeric columns
- detects anomalies using a statistical model
- The backend returns structured JSON data.
- The frontend visualizes:
- the signal as a line plot
- anomalies as highlighted points
- a detailed anomaly table per feature
- Python
- FastAPI
- Pandas / NumPy
- REST API (
POST /analyze)
- HTML5
- Vanilla JavaScript
- Chart.js for plotting
- Custom CSS (no frameworks)
full-stack-project-1/
├── backend/
│ ├── main.py
│ ├── logic.py
│ └── requirements.txt
├── frontend/
│ ├── index.html
│ └── app.js
├── screenshots/
│ └── dashboard.png
├── README.md
└── .gitignore
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reloadThe backend will be available at http://127.0.0.1:8000
- The current version serves as a lightweight pipeline to quickly validate experimental data and verify whether measurements were successful, particularly in materials and signal-based experiments.
- The scope of this project extends beyond this initial use case. Planned improvements include modular analysis components and additional visualization and processing capabilities to support a wider range of data analysis tasks.
