Intelligent AI DevOps & Network Defense Platform
© 2026 Asad Ali — All Rights Reserved
This repository is publicly available for viewing and portfolio purposes.
The source code, architecture, documentation, and original implementations are the intellectual property of the author.
No permission is granted to copy, modify, redistribute, reproduce, or use this project or its source code for personal, academic, commercial, or derivative projects without explicit written permission from the author.
Tech stack
- Language: Python
- Backend: FastAPI
- Frontend: Streamlit / React
- Database: PostgreSQL
- Distributed: Spark
- Cloud: AWS
- Container: Docker
Ek aisa system banana jo:
- Live network traffic monitor kare
- AI se attack detect kare
- Distributed system pe process kare
- Cloud pe deploy ho 5.Apni mini programming language support kare
- Proper QA lifecycle follow kare
- Production-level documentation ho
Aur ye sab ek integrated ecosystem ho.
- Complete Project Documentation: docs/COMPLETE_DOCUMENTATION.md
- Software Requirements (SRS): docs/SRS.md
- Test Plan: docs/TEST_PLAN.md
- Database ERD: docs/DB_ERD.md
- UI Wireframes: docs/UI_WIREFRAMES.md
- Project Proposal: docs/PROJECT_PROPOSAL.md
- DSL Guide: Backend/compiler/DSL_GUIDE.md
[Network Traffic]
↓
[Packet Sniffer Module]
↓
[Log Storage]
↓
[Distributed Processing Engine]
↓
[ML Anomaly Detection]
↓
[API Layer]
↓
[Web Dashboard + Custom Query Language]
↓
[Cloud Deployment + Monitoring]
💣 Real Impact Areas Machine Learning: AI-based intrusion detection (real dataset + live data)
Networks: Real packet capturing & protocol analysis
Distributed: Parallel vs sequential benchmark graphs
Cloud: AWS deployment + Docker + CI/CD
SQA: Industry-grade SRS + testing automation
Compiler: Mini DSL (Domain Specific Language)
Part 1: Architecture
Part 2: ML System
Part 3: Distributed Benchmark
Part 4: Cloud Deployment
Part 5: Custom Language
Final: Full Demo Video
Backend API:
cd Backend/api
uvicorn main:app --reload --host 127.0.0.1 --port 8000Streamlit dashboard:
streamlit run Frontend/app.pyUseful endpoints:
GET /healthGET /predictPOST /predictGET /traffic_statsGET /recent_predictions
The API starts the live packet capture in the background when it can access the network interface. If packet sniffing is blocked on your machine, the API still starts and the dashboard will show the backend status.
Default database URL is SQLite:
sqlite:///./sentinelx.dbSet custom DB URL (example PostgreSQL):
export DATABASE_URL="postgresql+psycopg2://USER:PASSWORD@HOST:5432/sentinelx"On Windows PowerShell:
$env:DATABASE_URL = "postgresql+psycopg2://USER:PASSWORD@HOST:5432/sentinelx"Run migrations:
alembic -c alembic.ini upgrade headCreate a new migration from model changes (autogenerate):
alembic -c alembic.ini revision --autogenerate -m "describe change"Check if there are pending schema diffs:
alembic -c alembic.ini checkSimple DB admin CLI:
python Backend/db/cli.py init-db
python Backend/db/cli.py migrate
python Backend/db/cli.py list-predictions --limit 20
python Backend/db/cli.py show-stats --limit 10The DSL reads from the database first and falls back to the API when needed.
Examples:
python Backend/compiler/cli.py "show threats limit 10"
python Backend/compiler/cli.py "show traffic limit 5"
python Backend/compiler/cli.py "show stats"
python Backend/compiler/cli.py "show latest"Dashboard support:
- Open the Streamlit dashboard and use the
Mini DSLsection.
Guide:
If you want to use the DSL without the web dashboard, run:
python Backend/compiler/cli.pyUseful commands:
SHOW_THREATS
SHOW_TRAFFIC
SHOW_IPS
SHOW_PROTOCOLS
COUNT_PACKETS
COUNT_THREATS
COUNT_IPS
SHOW_HIGH_RISK
SHOW_MEDIUM_RISK
SHOW_LOW_RISK
SHOW_TCP
SHOW_UDP
SHOW_ICMP
LATEST_THREATS
LATEST_PACKETS
TOP_ATTACKERS
HELP
VERSION
STATUS