diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 1f807fa..261aebd 100644 Binary files a/core/__pycache__/urls.cpython-311.pyc and b/core/__pycache__/urls.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 6867ddf..8263431 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/templates/base.html b/core/templates/base.html index 1e7e5fb..9cec70f 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -3,7 +3,7 @@ - {% block title %}Knowledge Base{% endblock %} + {% block title %}SIEM Dashboard{% endblock %} {% if project_description %} @@ -13,13 +13,19 @@ {% endif %} + + + + + {% load static %} {% block head %}{% endblock %} - + {% block content %}{% endblock %} + diff --git a/core/templates/core/index.html b/core/templates/core/index.html index faec813..af92934 100644 --- a/core/templates/core/index.html +++ b/core/templates/core/index.html @@ -1,145 +1,72 @@ -{% extends "base.html" %} +{% extends 'base.html' %} +{% load static %} {% block title %}{{ project_name }}{% endblock %} -{% block head %} - - - - -{% endblock %} - {% block content %} -
-
-

Analyzing your requirements and generating your app…

-
- Loading… +
+
+

SIEM Dashboard

+
+
Overall Security Score
+
{{ security_score }}
+
+
+ +
+
+
+
+

Active Alerts

+
+ {% for alert in alerts %} +
+
+
{{ alert.title }}
+ {{ alert.timestamp }} +
+

Source: {{ alert.source }}

+
+ {% endfor %} +
+
+
+ +
+
+

Live Event Stream

+
+

[2025-12-15 10:30:05] user admin failed to login from 192.168.1.10

+

[2025-12-15 10:30:04] user admin failed to login from 192.168.1.10

+

[2025-12-15 10:30:02] user admin failed to login from 192.168.1.10

+

[2025-12-15 10:25:10] GET /api/users?id=1%27%20OR%201=1 -- 200

+

[2025-12-15 10:15:30] process /usr/bin/unusual_proc started by user root

+
+
+
+
+ +
+
+
+

Top Alert Sources

+
    +
  • + suricata.log + 2 +
  • +
  • + auth.log + 1 +
  • +
  • + syslog + 1 +
  • +
+
+
+
-

AppWizzy AI is collecting your requirements and applying the first changes.

-

This page will refresh automatically as the plan is implemented.

-

- Runtime: Django {{ django_version }} · Python {{ python_version }} - — UTC {{ current_time|date:"Y-m-d H:i:s" }} -

-
-
- -{% endblock %} \ No newline at end of file + +{% endblock %} diff --git a/core/urls.py b/core/urls.py index 6299e3d..8e0d0ae 100644 --- a/core/urls.py +++ b/core/urls.py @@ -1,7 +1,7 @@ from django.urls import path -from .views import home +from .views import index urlpatterns = [ - path("", home, name="home"), + path("", index, name="index"), ] diff --git a/core/views.py b/core/views.py index c9aed12..fc55881 100644 --- a/core/views.py +++ b/core/views.py @@ -6,20 +6,42 @@ from django.shortcuts import render from django.utils import timezone -def home(request): - """Render the landing screen with loader and environment details.""" - host_name = request.get_host().lower() - agent_brand = "AppWizzy" if host_name == "appwizzy.com" else "Flatlogic" - now = timezone.now() - +def index(request): + """Render the SIEM dashboard with mock data.""" context = { - "project_name": "New Style", - "agent_brand": agent_brand, - "django_version": django_version(), - "python_version": platform.python_version(), - "current_time": now, - "host_name": host_name, - "project_description": os.getenv("PROJECT_DESCRIPTION", ""), + "project_name": "SIEM Dashboard", + "security_score": 78, + "alerts": [ + { + "id": 1, + "title": "Multiple failed login attempts", + "severity": "critical", + "timestamp": "2025-12-15 10:30:00", + "source": "auth.log" + }, + { + "id": 2, + "title": "Potential SQL Injection attempt", + "severity": "high", + "timestamp": "2025-12-15 10:25:00", + "source": "suricata.log" + }, + { + "id": 3, + "title": "Unusual process execution", + "severity": "medium", + "timestamp": "2025-12-15 10:15:00", + "source": "syslog" + }, + { + "id": 4, + "title": "Access from a known malicious IP", + "severity": "high", + "timestamp": "2025-12-15 10:10:00", + "source": "suricata.log" + } + ], + "project_description": os.getenv("PROJECT_DESCRIPTION", "A SIEM tool for log analysis."), "project_image_url": os.getenv("PROJECT_IMAGE_URL", ""), } return render(request, "core/index.html", context) diff --git a/static/css/custom.css b/static/css/custom.css index 925f6ed..f7cbc53 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -1,4 +1,61 @@ -/* Custom styles for the application */ -body { - font-family: system-ui, -apple-system, sans-serif; +:root { + --bs-dark-rgb: 26, 28, 35; + --bs-light-rgb: 224, 224, 224; + --primary-ui-color: #252831; + --accent-color: #00aaff; + --critical-alert-color: #ff4d4d; + --high-alert-color: #ff9933; + --medium-alert-color: #ffff66; + --text-secondary-color: #a0a0a0; } + +body { + font-family: 'Inter', sans-serif; + background-color: #1a1c23; +} + +h1, h2, h3, h4, h5, h6 { + font-family: 'Roboto Mono', monospace; +} + +.card { + background-color: var(--primary-ui-color); +} + +.security-score { + width: 150px; + height: 150px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 2.5rem; + font-weight: bold; + border: 10px solid var(--accent-color); +} + +.alert-card { + border-left: 5px solid; +} + +.alert-critical { + border-color: var(--critical-alert-color); +} + +.alert-high { + border-color: var(--high-alert-color); +} + +.alert-medium { + border-color: var(--medium-alert-color); +} + +.text-secondary { + color: var(--text-secondary-color) !important; +} + +.log-line { + font-family: 'Roboto Mono', monospace; + font-size: 0.9rem; + white-space: pre-wrap; +} \ No newline at end of file