Rename project to Argus Nexus
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# 👁️ God's Eye - Umfassende System-Spezifikation & Historie
|
||||
# 👁️ Argus Nexus - Umfassende System-Spezifikation & Historie
|
||||
|
||||
## 1. Die Vision (Der User-Wunsch)
|
||||
Das Ziel war die Erschaffung einer privaten **Intelligence-Plattform** im Stil von *Palantir* oder *Worldview*.
|
||||
@@ -1,7 +1,7 @@
|
||||
# GEMINI.md - Projekt-Zentrale & Team-Mandat
|
||||
|
||||
## 🎯 Übergeordnetes Ziel
|
||||
Ich agiere als das vollständige Engineering-Team von "God's Eye". Jede meiner Handlungen muss den Standards und Verantwortlichkeiten entsprechen, die in `docs/team/` definiert sind.
|
||||
Ich agiere als das vollständige Engineering-Team von "Argus Nexus". Jede meiner Handlungen muss den Standards und Verantwortlichkeiten entsprechen, die in `docs/team/` definiert sind.
|
||||
|
||||
## 👥 Team-Integration & Workflow
|
||||
Bei jeder Aufgabe (Directive oder Inquiry) folge ich diesem Protokoll:
|
||||
@@ -21,7 +21,7 @@ Damit das Projekt gesund wächst, verpflichte ich mich zu folgenden automatische
|
||||
## 🛠️ Technische Leitplanken
|
||||
- **Code-Stil:** Höchste Priorität auf Typsicherheit und Dokumentation (Docstrings/Comments).
|
||||
- **Infrastruktur:** Alles ist Code (IaC). Keine manuellen Setups ohne Dokumentation im DevOps-Profil.
|
||||
- **Security:** "God's Eye" erfordert maximale Sicherheit. Jedes Feature wird auf potenzielle Leaks geprüft.
|
||||
- **Security:** "Argus Nexus" erfordert maximale Sicherheit. Jedes Feature wird auf potenzielle Leaks geprüft.
|
||||
|
||||
---
|
||||
*Hinweis an Gemini CLI: Diese Datei ist dein primäres Mandat. Lies sie bei jedem Start und richte dein Verhalten strikt danach aus.*
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
# God's Eye - Project Vision & Core Capabilities
|
||||
# Argus Nexus - Project Vision & Core Capabilities
|
||||
|
||||
## 👁️ Die Mission
|
||||
"God's Eye" ist eine private, OSINT-basierte (Open Source Intelligence) Kommandozentrale zur globalen Situationswahrnehmung. Es aggregiert fragmentierte Datenströme der Welt in einem einzigen, hochperformanten 3D-Interface, um Muster zu erkennen, die für das bloße Auge unsichtbar bleiben.
|
||||
"Argus Nexus" ist eine private, OSINT-basierte (Open Source Intelligence) Kommandozentrale zur globalen Situationswahrnehmung. Es aggregiert fragmentierte Datenströme der Welt in einem einzigen, hochperformanten 3D-Interface, um Muster zu erkennen, die für das bloße Auge unsichtbar bleiben.
|
||||
|
||||
## 🚀 Kern-Funktionen
|
||||
|
||||
@@ -28,4 +28,4 @@
|
||||
- **High Performance:** GPU-beschleunigtes 3D-Rendering für flüssige Darstellung tausender Objekte.
|
||||
|
||||
---
|
||||
*"God's Eye sieht alles, kostet nichts und gehört nur dir."*
|
||||
*"Argus Nexus sieht alles, kostet nichts und gehört nur dir."*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 👁️ God's Eye - Bedienungsanleitung
|
||||
# 👁️ Argus Nexus - Bedienungsanleitung
|
||||
|
||||
## 🛠️ Voraussetzungen
|
||||
- **Node.js & npm**
|
||||
@@ -41,4 +41,4 @@ Navigiere zu: **`http://localhost:5173`**
|
||||
- `PROJECT_VISION.md`: Detaillierte Beschreibung der System-Fähigkeiten.
|
||||
|
||||
---
|
||||
*Hinweis: God's Eye nutzt Echtzeit-Daten. Die erste Ladezeit der Satelliten und Flugzeuge kann beim ersten Start 10-15 Sekunden dauern.*
|
||||
*Hinweis: Argus Nexus nutzt Echtzeit-Daten. Die erste Ladezeit der Satelliten und Flugzeuge kann beim ersten Start 10-15 Sekunden dauern.*
|
||||
|
||||
+2
-2
@@ -231,7 +231,7 @@ async def lifespan(app: FastAPI):
|
||||
asyncio.create_task(save_snapshots()),
|
||||
]
|
||||
# Save initial snapshot once data loads
|
||||
print("[GOD'S EYE] All 9 data pipelines online.")
|
||||
print("[ARGUS NEXUS] All 9 data pipelines online.")
|
||||
yield
|
||||
for t in tasks:
|
||||
t.cancel()
|
||||
@@ -251,7 +251,7 @@ app.add_middleware(
|
||||
async def root():
|
||||
return {
|
||||
"status": "ONLINE",
|
||||
"system": "GOD'S EYE",
|
||||
"system": "ARGUS NEXUS",
|
||||
"version": "2.1.0",
|
||||
"active_clients": len(clients),
|
||||
"data_counts": {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Lead Software Architect / Tech Lead
|
||||
|
||||
## Rolle & Fokus
|
||||
Der Lead Architect ist verantwortlich für die technische Gesamtvision des Projekts "God's Eye". Er trifft fundamentale Architekturentscheidungen und stellt sicher, dass das System skalierbar, sicher und wartbar bleibt.
|
||||
Der Lead Architect ist verantwortlich für die technische Gesamtvision des Projekts "Argus Nexus". Er trifft fundamentale Architekturentscheidungen und stellt sicher, dass das System skalierbar, sicher und wartbar bleibt.
|
||||
|
||||
## Kernkompetenzen
|
||||
- **System-Design:** Microservices vs. Monolith, Event-Driven Architecture.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Senior Backend Engineer
|
||||
|
||||
## Rolle & Fokus
|
||||
Der Backend Engineer kümmert sich um die "Schaltzentrale" von "God's Eye" – APIs, Geschäftslogik und Datenintegrität.
|
||||
Der Backend Engineer kümmert sich um die "Schaltzentrale" von "Argus Nexus" – APIs, Geschäftslogik und Datenintegrität.
|
||||
|
||||
## Kernkompetenzen
|
||||
- **API-Design:** RESTful, GraphQL, gRPC.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Frontend Architect
|
||||
|
||||
## Rolle & Fokus
|
||||
Der Frontend Architect ist zuständig für die User Experience und die visuelle Komponente von "God's Eye". Fokus auf intuitive Bedienung und hohe Performance im Browser.
|
||||
Der Frontend Architect ist zuständig für die User Experience und die visuelle Komponente von "Argus Nexus". Fokus auf intuitive Bedienung und hohe Performance im Browser.
|
||||
|
||||
## Kernkompetenzen
|
||||
- **Frameworks:** React, Vue.js oder Angular.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# DevOps & SRE Specialist
|
||||
|
||||
## Rolle & Fokus
|
||||
Der DevOps & SRE Specialist ist verantwortlich für die Verfügbarkeit, Skalierbarkeit und Sicherheit der Infrastruktur. "God's Eye" muss stabil unter Last laufen.
|
||||
Der DevOps & SRE Specialist ist verantwortlich für die Verfügbarkeit, Skalierbarkeit und Sicherheit der Infrastruktur. "Argus Nexus" muss stabil unter Last laufen.
|
||||
|
||||
## Kernkompetenzen
|
||||
- **IaC:** Terraform oder CloudFormation.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Data & Integration Engineer
|
||||
|
||||
## Rolle & Fokus
|
||||
Der Data Engineer ist verantwortlich für die Anbindung, Transformation und Aggregation externer Datenquellen (APIs, Streams) für das "God's Eye" Projekt. Da das System stark auf Echtzeit-Ereignissen basiert, liegt der Fokus auf performanter und kostenfreier Datenbeschaffung.
|
||||
Der Data Engineer ist verantwortlich für die Anbindung, Transformation und Aggregation externer Datenquellen (APIs, Streams) für das "Argus Nexus" Projekt. Da das System stark auf Echtzeit-Ereignissen basiert, liegt der Fokus auf performanter und kostenfreier Datenbeschaffung.
|
||||
|
||||
## Kernkompetenzen
|
||||
- **Data Pipelines:** ETL-Prozesse, Stream-Processing (Kafka, RabbitMQ oder einfache asynchrone Queues).
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# God's Eye Development Team
|
||||
# Argus Nexus Development Team
|
||||
|
||||
Willkommen in der technischen Zentrale von God's Eye. Hier findest du die Profile und Zuständigkeiten unseres spezialisierten Engineering-Teams.
|
||||
Willkommen in der technischen Zentrale von Argus Nexus. Hier findest du die Profile und Zuständigkeiten unseres spezialisierten Engineering-Teams.
|
||||
|
||||
## Team-Struktur
|
||||
|
||||
|
||||
+2
-2
@@ -4,8 +4,8 @@
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>GOD'S EYE — Global Intelligence Platform</title>
|
||||
<meta name="description" content="Real-time global intelligence and surveillance platform" />
|
||||
<title>ARGUS NEXUS - Global Intelligence Platform</title>
|
||||
<meta name="description" content="Real-time global intelligence and situational awareness platform" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
@@ -72,8 +72,8 @@ function App() {
|
||||
const { lastJsonMessage, readyState, sendJsonMessage } = useWebSocket(wsUrl, { shouldReconnect: () => true, reconnectInterval: 3000 });
|
||||
|
||||
useEffect(() => {
|
||||
(window as any).__GODS_EYE_REQUEST_SECTOR__ = (box: any) => sendJsonMessage({ type: 'request_sector', box });
|
||||
return () => { (window as any).__GODS_EYE_REQUEST_SECTOR__ = null; };
|
||||
(window as any).__ARGUS_NEXUS_REQUEST_SECTOR__ = (box: any) => sendJsonMessage({ type: 'request_sector', box });
|
||||
return () => { (window as any).__ARGUS_NEXUS_REQUEST_SECTOR__ = null; };
|
||||
}, [sendJsonMessage]);
|
||||
|
||||
const [systemStatus, setSystemStatus] = useState('Initializing Sentinel...');
|
||||
@@ -81,7 +81,7 @@ function App() {
|
||||
useEffect(() => {
|
||||
const msg = lastJsonMessage as any;
|
||||
if (msg?.type === 'status') { setSystemStatus(msg.message); return; }
|
||||
if (msg?.type === 'sector_update') { (window as any).__GODS_EYE_ON_SECTOR_DATA__?.(msg); return; }
|
||||
if (msg?.type === 'sector_update') { (window as any).__ARGUS_NEXUS_ON_SECTOR_DATA__?.(msg); return; }
|
||||
if (msg?.type === 'update' && !historyModeRef.current) {
|
||||
const updateSig = JSON.stringify(msg.last_updated || {});
|
||||
if (updateSig === lastUpdateSigRef.current) return;
|
||||
@@ -173,7 +173,7 @@ function App() {
|
||||
<Shield size={15} className="text-sky-400" />
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-sm font-black tracking-[0.2em] text-white drop-shadow-[0_0_8px_rgba(255,255,255,0.4)]">GOD'S EYE</div>
|
||||
<div className="text-sm font-black tracking-[0.2em] text-white drop-shadow-[0_0_8px_rgba(255,255,255,0.4)]">ARGUS NEXUS</div>
|
||||
<div className="text-[8px] text-sky-500 tracking-[0.35em] font-bold uppercase">Strategic Command</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -446,7 +446,7 @@ function App() {
|
||||
{/* BOTTOM STATUS BAR */}
|
||||
<footer className="absolute bottom-0 left-0 right-0 h-9 z-20 flex items-center justify-between px-4 bg-[#020617]/90 border-t border-slate-800/60 backdrop-blur-sm pointer-events-none">
|
||||
<div className="flex items-center gap-5 text-[9px] text-slate-600">
|
||||
<span className="flex items-center gap-1.5"><Globe size={9} className="text-sky-700"/> GOD'S EYE v2.1</span>
|
||||
<span className="flex items-center gap-1.5"><Globe size={9} className="text-sky-700"/> ARGUS NEXUS v2.1</span>
|
||||
<span className="flex items-center gap-1.5"><Plane size={9} className="text-amber-700"/>{rawData.planes.length.toLocaleString()} AC · <span className="text-rose-700">{milPlanes.length} MIL</span></span>
|
||||
<span className="flex items-center gap-1.5"><Anchor size={9} className="text-blue-700"/>{rawData.ships.length} VES</span>
|
||||
<span className="flex items-center gap-1.5"><Satellite size={9} className="text-sky-700"/>{rawData.satellites.length} SAT</span>
|
||||
|
||||
@@ -89,8 +89,8 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
|
||||
}, [viewMode]);
|
||||
|
||||
useEffect(() => {
|
||||
(window as any).__GODS_EYE_ON_SECTOR_DATA__ = (msg: any) => { spRef.current = msg.planes || []; ssRef.current = msg.ships || []; };
|
||||
return () => { (window as any).__GODS_EYE_ON_SECTOR_DATA__ = null; };
|
||||
(window as any).__ARGUS_NEXUS_ON_SECTOR_DATA__ = (msg: any) => { spRef.current = msg.planes || []; ssRef.current = msg.ships || []; };
|
||||
return () => { (window as any).__ARGUS_NEXUS_ON_SECTOR_DATA__ = null; };
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -99,7 +99,7 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
|
||||
const pov = currentPov.current;
|
||||
if (pov.altitude > 1.2) { spRef.current = []; ssRef.current = []; return; }
|
||||
const span = pov.altitude * 45;
|
||||
(window as any).__GODS_EYE_REQUEST_SECTOR__?.({ lamin: Math.max(-90, pov.lat-span), lamax: Math.min(90, pov.lat+span), lomin: pov.lng-span*1.5, lomax: pov.lng+span*1.5 });
|
||||
(window as any).__ARGUS_NEXUS_REQUEST_SECTOR__?.({ lamin: Math.max(-90, pov.lat-span), lamax: Math.min(90, pov.lat+span), lomin: pov.lng-span*1.5, lomax: pov.lng+span*1.5 });
|
||||
}, 2500);
|
||||
return () => clearInterval(interval);
|
||||
}, [isLoaded, viewMode]);
|
||||
@@ -133,7 +133,7 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
|
||||
return rc.intersectObjects([pM.current, sM.current, saM.current]);
|
||||
};
|
||||
globeRef.current!.addEventListener('pointerup', (e) => {
|
||||
const hits = getHits(e); if (hits.length > 0 && hits[0].instanceId != null) (window as any).__GODS_EYE_HIT__ = { obj: hits[0].object, idx: hits[0].instanceId };
|
||||
const hits = getHits(e); if (hits.length > 0 && hits[0].instanceId != null) (window as any).__ARGUS_NEXUS_HIT__ = { obj: hits[0].object, idx: hits[0].instanceId };
|
||||
});
|
||||
tileMgr.loadBaseLayer().catch(()=>{}); setIsLoaded(true);
|
||||
return () => { if (typeof globe._destructor === 'function') globe._destructor(); globeInstance.current = null; };
|
||||
@@ -177,12 +177,12 @@ const GlobeView: React.FC<Props> = ({ data, selectedItem, onSelectItem, onPovCha
|
||||
const [x, y, z] = polar2xyz(selectedItem.lat, selectedItem.lon ?? selectedItem.lng, selectedItem.dataType === 'satellite' ? 0.16 : 0.03);
|
||||
selM.current.position.set(x, y, z); selM.current.lookAt(0, 0, 0); selM.current.visible = true;
|
||||
} else selM.current.visible = false;
|
||||
const hit = (window as any).__GODS_EYE_HIT__;
|
||||
const hit = (window as any).__ARGUS_NEXUS_HIT__;
|
||||
if (hit) {
|
||||
if (hit.obj === pM.current) onSelectItem({ ...rendered.p[hit.idx], dataType: 'plane' });
|
||||
else if (hit.obj === sM.current) onSelectItem({ ...rendered.s[hit.idx], dataType: 'ship' });
|
||||
else if (hit.obj === saM.current) onSelectItem({ ...rendered.sa[hit.idx], dataType: 'satellite' });
|
||||
(window as any).__GODS_EYE_HIT__ = null;
|
||||
(window as any).__ARGUS_NEXUS_HIT__ = null;
|
||||
}
|
||||
requestAnimationFrame(animate);
|
||||
}
|
||||
|
||||
Generated
+2
-2
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "gods-eye-root",
|
||||
"name": "argus-nexus-root",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gods-eye-root",
|
||||
"name": "argus-nexus-root",
|
||||
"version": "1.0.0",
|
||||
"devDependencies": {
|
||||
"concurrently": "^9.2.1"
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "gods-eye-root",
|
||||
"name": "argus-nexus-root",
|
||||
"version": "1.0.0",
|
||||
"description": "Root management for God's Eye project",
|
||||
"description": "Root management for Argus Nexus project",
|
||||
"scripts": {
|
||||
"install-all": "npm install && cd frontend && npm install && cd ../backend && python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt",
|
||||
"backend": "cd backend && source venv/bin/activate && python3 main.py",
|
||||
|
||||
Reference in New Issue
Block a user