Skip to content

Commit 0390a33

Browse files
authored
docs: fix clone URL, Next.js badge v15, API description, add Demo section
1 parent e3c271a commit 0390a33

1 file changed

Lines changed: 63 additions & 47 deletions

File tree

README.md

Lines changed: 63 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
![Build Status](https://img.shields.io/badge/build-passing-brightgreen)
44
![Python](https://img.shields.io/badge/Python-3.9%2B-blue)
5-
![Frontend](https://img.shields.io/badge/Next.js-13.0%2B-black)
5+
![Frontend](https://img.shields.io/badge/Next.js-15.0%2B-black)
66
![License](https://img.shields.io/badge/license-MIT-green)
77

88
A comprehensive, **GSOC-level security monitoring solution** that leverages Artificial Intelligence to detect network anomalies, visualize threats in real-time, and provide actionable insights for system administrators.
@@ -21,36 +21,36 @@ flowchart LR
2121
Ingest --> DB[(SQLite via SQLAlchemy)]
2222
Ingest --> Model[Isolation Forest Anomaly Model]
2323
Model --> Scored[Scored Events - Normal / Suspicious / Critical]
24-
Scored --> API[REST API]
25-
API --> Dashboard[Next.js Dashboard]
26-
Dashboard --> Visuals[3D Globe & Network Graph]
24+
Scored --> Dashboard[Next.js Real-time Dashboard]
25+
Dashboard --> Globe[3D Threat Globe]
26+
Dashboard --> Graph[3D Network Topology]
27+
Dashboard --> Charts[Recharts Visualizations]
2728
```
2829

2930
The platform ingests raw system and network logs, stores them in a relational database, scores them with an Isolation Forest model, and serves the results to a Next.js dashboard that renders traditional charts and immersive 3D visualizations.
3031

3132
## 🚀 Key Features
3233

33-
* **🕵️ Real-time Anomaly Detection**: Utilizes Unsupervised Learning (Isolation Forest) to detect outliers in network traffic and user behavior.
34-
* **📊 Interactive Dashboard**: Built with **Next.js** and **Recharts** to visualize traffic spikes, threat distribution, and live logs.
35-
* **🌐 3D Threat Globe Visualization**: Interactive 3D globe using React Three Fiber to visualize global threat distribution with color-coded severity indicators.
36-
* **🔗 3D Network Topology Graph**: Real-time 3D network relationship mapping with interactive nodes showing server, client, and threat connections.
37-
* **✨ Advanced 3D Animations**: Smooth animations, hover effects, and auto-rotation for immersive threat monitoring experience.
38-
* **⚡ High-Performance Backend**: **FastAPI** drives the API, ensuring millisecond-latency responses for log ingestion and inference.
39-
* **📥 Universal Log Ingestion**: capable of parsing standardized system logs and network traffic data.
40-
* **🚨 Threat Intelligence**: Automatically classifies events as "Normal", "Suspicious", or "Critical" based on AI confidence scores.
41-
42-
---
34+
- 🕵️ **Real-time Anomaly Detection**: Utilizes Unsupervised Learning (Isolation Forest) to detect outliers in network traffic and user behavior.
35+
- 📊 **Interactive Dashboard**: Built with **Next.js** and **Recharts** to visualize traffic spikes, threat distribution, and live logs.
36+
- 🌐 **3D Threat Globe Visualization**: Interactive 3D globe using React Three Fiber to visualize global threat distribution with color-coded severity indicators.
37+
- 🔗 **3D Network Topology Graph**: Real-time 3D network relationship mapping with interactive nodes showing server, client, and threat connections.
38+
-**Advanced 3D Animations**: Smooth animations, hover effects, and auto-rotation for immersive threat monitoring experience.
39+
-**High-Performance Backend**: **FastAPI** drives the API, ensuring millisecond-latency responses for log ingestion and inference.
40+
- 📥 **Universal Log Ingestion**: Capable of parsing standardized system logs and network traffic data.
41+
- 🚨 **Threat Intelligence**: Automatically classifies events as "Normal", "Suspicious", or "Critical" based on AI confidence scores.
4342

4443
## 🛠️ Tech Stack
4544

4645
### Backend & AI
47-
* **Python 3.10+**: Core logic.
48-
* **FastAPI**: High-performance Async API framework.
49-
* **Scikit-learn**: Machine Learning (Isolation Forest).
50-
* **Pandas & NumPy**: Data manipulation and feature extraction.
51-
* **SQLAlchemy & SQLite**: ORM and Database (Easily scalable to PostgreSQL).
5246

53-
* ### 🤖 Why Isolation Forest?
47+
- **Python 3.10+**: Core logic.
48+
- **FastAPI**: High-performance Async API framework.
49+
- **Scikit-learn**: Machine Learning (Isolation Forest).
50+
- **Pandas & NumPy**: Data manipulation and feature extraction.
51+
- **SQLAlchemy & SQLite**: ORM and Database (Easily scalable to PostgreSQL).
52+
53+
### 🤖 Why Isolation Forest?
5454

5555
This project focuses on unsupervised anomaly detection, where labeled attack data is rare and patterns evolve quickly. Isolation Forest is well-suited because:
5656

@@ -62,32 +62,44 @@ This project focuses on unsupervised anomaly detection, where labeled attack dat
6262
These properties make Isolation Forest a practical baseline model for an AI-powered security monitoring platform, while leaving room for future extensions (autoencoders, ensembles, or hybrid rules-plus-ML systems).
6363

6464
### Frontend
65-
* **Next.js 14**: React framework for production.
66-
* **TailwindCSS**: Utility-first styling.
67-
* **Recharts**: Composable charting library.
68-
* **Lucide React**: Beautiful icons.
69-
* **Three.js**: WebGL 3D graphics library for immersive visualizations.
70-
* **React Three Fiber**: React renderer for Three.js enabling declarative 3D scenes.
71-
* **@react-three/drei**: Useful helpers and abstractions for React Three Fiber.
7265

73-
---
66+
- **Next.js 15**: React framework for production.
67+
- **TailwindCSS**: Utility-first styling.
68+
- **Recharts**: Composable charting library.
69+
- **Lucide React**: Beautiful icons.
70+
- **Three.js**: WebGL 3D graphics library for immersive visualizations.
71+
- **React Three Fiber**: React renderer for Three.js enabling declarative 3D scenes.
72+
- **@react-three/drei**: Useful helpers and abstractions for React Three Fiber.
73+
74+
## 🖥️ Demo & Screenshots
75+
76+
> **Live Demo**: Coming soon — Cloud deployment in progress (AWS/Render).
77+
78+
| Dashboard View | 3D Threat Globe | Network Topology |
79+
|---|---|---|
80+
| ![Dashboard](docs/screenshots/dashboard.png) | ![Globe](docs/screenshots/globe.png) | ![Topology](docs/screenshots/topology.png) |
81+
82+
> 📌 *Add screenshots to `docs/screenshots/` and update the paths above.*
7483
7584
## ⚡ Getting Started
7685

7786
Follow these steps to set up the project locally.
7887

7988
### Prerequisites
80-
* Python 3.9 or higher
81-
* Node.js 18.0 or higher
82-
* Git
89+
90+
- Python 3.9 or higher
91+
- Node.js 18.0 or higher
92+
- Git
8393

8494
### 1. Clone the Repository
95+
8596
```bash
86-
git clone https://github.com/DHANUSHGCODE/ai-security-monitor.git
87-
cd ai-security-monitor
97+
git clone https://github.com/DHANUSHGCODE/AI-Powered-Security-Monitoring-Threat-Detection-Platform.git
98+
cd AI-Powered-Security-Monitoring-Threat-Detection-Platform
8899
```
89100

90101
### 2. Backend Setup
102+
91103
Initialize the Python environment and install dependencies.
92104

93105
```bash
@@ -102,64 +114,68 @@ pip install -r requirements.txt
102114
```
103115

104116
### 3. Initialize AI Model
117+
105118
Train the initial model using the provided simulation data.
106119

107120
```bash
108121
# From the root directory
109122
python ai-model/train_model.py
110123
```
111-
*This will generate a `generated_logs.csv` dataset and save the trained model to `ai-model/isolation_forest_model.pkl`.*
124+
125+
This will generate a `generated_logs.csv` dataset and save the trained model to `ai-model/isolation_forest_model.pkl`.
112126

113127
### 4. Start the Backend Server
128+
114129
```bash
115130
# From the root directory
116131
uvicorn backend.main:app --reload --port 8000
117132
```
133+
118134
The API will be available at `http://localhost:8000`.
119-
interactive Docs: `http://localhost:8000/docs`.
135+
Interactive Docs: `http://localhost:8000/docs`.
120136

121137
### 5. Frontend Setup
138+
122139
Open a new terminal and set up the Next.js dashboard.
123140

124141
```bash
125142
cd frontend
126143
npm install
127144
npm run dev
128145
```
129-
The dashboard will launch at `http://localhost:3000`.
130146

131-
---
147+
The dashboard will launch at `http://localhost:3000`.
132148

133149
## 📊 API Documentation
134150

135151
| Method | Endpoint | Description |
136-
| :--- | :--- | :--- |
152+
|--------|----------|-------------|
137153
| `GET` | `/` | Health check. |
138154
| `POST` | `/logs/` | Ingest a new log entry. |
139155
| `GET` | `/logs/` | Retrieve recent logs (supports pagination). |
140-
| `POST` | `/predict/` | Get capability score for a specific traffic pattern. |
141-
142-
---
156+
| `POST` | `/predict/` | Get anomaly score for a specific traffic pattern. |
143157

144158
## 🔮 Roadmap
145159

146160
- [x] Core Log Ingestion & Database
147161
- [x] Basic Anomaly Detection Model
148162
- [x] Real-time Dashboard
163+
- [x] Docker Containerization
149164
- [ ] WebSocket Integration for Live Alerts
150165
- [ ] User Authentication (OAuth2)
151-
- [x] Docker Containerization
152166
- [ ] Deployment to Cloud (AWS/Render)
153167

154168
## 🤝 Contributing
155169

156170
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements.
157171

158-
1. Fork the Project
159-
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
160-
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
161-
4. Push to the Branch (`git push origin feature/AmazingFeature`)
162-
5. Open a Pull Request
172+
1. Fork the Project
173+
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
174+
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
175+
4. Push to the Branch (`git push origin feature/AmazingFeature`)
176+
5. Open a Pull Request
177+
178+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
163179

164180
## 📄 License
165181

0 commit comments

Comments
 (0)