Update README: Complete project structure documentation
Comprehensive project structure update reflecting current implementation: - Add all API routes: admin, auth (forgot/reset/register), export, geofences, mqtt, users - Add all admin panel pages: emails, geofences+events, mqtt, settings, setup, users - Add all app pages: export, forgot-password, map, register, reset-password, unauthorized - Document complete components structure: demo, map (MapView + GeofenceLayer), AuthProvider - List all 18 lib files: geofence system, MQTT system, email service, crypto, geo-utils, etc. - Add all 15 scripts: geofence tests, MQTT sync, SMTP test, time filter debug, schema tools - Include new directories: emails/, mosquitto/config+logs, instrumentation.ts - Add Docker setup: docker-compose.yml, Dockerfile - Update data/ description: database.sqlite now includes MQTT + Geofences 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
124
README.md
124
README.md
@@ -856,34 +856,132 @@ server {
|
|||||||
location-tracker-app/
|
location-tracker-app/
|
||||||
├── app/
|
├── app/
|
||||||
│ ├── api/
|
│ ├── api/
|
||||||
│ │ ├── auth/[...nextauth]/ # NextAuth API
|
│ │ ├── admin/
|
||||||
│ │ ├── devices/ # Device CRUD
|
│ │ │ ├── emails/
|
||||||
│ │ ├── locations/ # Location API + Sync/Cleanup/Stats
|
│ │ │ │ ├── preview/ # Email Template Preview
|
||||||
│ │ └── system/status/ # System Status (Uptime, Memory)
|
│ │ │ │ └── send-test/ # Test Email versenden
|
||||||
|
│ │ │ └── settings/
|
||||||
|
│ │ │ └── smtp/ # SMTP Einstellungen + Test
|
||||||
|
│ │ ├── auth/
|
||||||
|
│ │ │ ├── [...nextauth]/ # NextAuth API
|
||||||
|
│ │ │ ├── forgot-password/ # Passwort vergessen
|
||||||
|
│ │ │ ├── register/ # User Registrierung
|
||||||
|
│ │ │ └── reset-password/ # Passwort zurücksetzen
|
||||||
|
│ │ ├── devices/
|
||||||
|
│ │ │ ├── [id]/ # Device CRUD (einzelnes Device)
|
||||||
|
│ │ │ ├── public/ # Öffentliche Device-Liste
|
||||||
|
│ │ │ └── route.ts # Device Liste + Create
|
||||||
|
│ │ ├── export/
|
||||||
|
│ │ │ └── csv/ # CSV Export von Locations
|
||||||
|
│ │ ├── geofences/
|
||||||
|
│ │ │ ├── [id]/ # Geofence CRUD (einzelner Geofence)
|
||||||
|
│ │ │ ├── events/ # Geofence Events abfragen
|
||||||
|
│ │ │ └── route.ts # Geofence Liste + Create
|
||||||
|
│ │ ├── locations/
|
||||||
|
│ │ │ ├── cleanup/ # Alte Locations löschen
|
||||||
|
│ │ │ ├── ingest/ # Location Import (MQTT)
|
||||||
|
│ │ │ ├── optimize/ # DB Optimization (VACUUM)
|
||||||
|
│ │ │ ├── stats/ # DB Statistiken
|
||||||
|
│ │ │ ├── test/ # Test-Location hinzufügen
|
||||||
|
│ │ │ └── route.ts # Location Query API
|
||||||
|
│ │ ├── mqtt/
|
||||||
|
│ │ │ ├── acl/
|
||||||
|
│ │ │ │ ├── [id]/ # ACL Rule CRUD
|
||||||
|
│ │ │ │ └── route.ts # ACL Rules Liste + Create
|
||||||
|
│ │ │ ├── credentials/
|
||||||
|
│ │ │ │ ├── [device_id]/ # MQTT Credentials CRUD
|
||||||
|
│ │ │ │ └── route.ts # Credentials Liste + Create
|
||||||
|
│ │ │ ├── send-credentials/ # Credentials per Email versenden
|
||||||
|
│ │ │ └── sync/ # Mosquitto Config Sync
|
||||||
|
│ │ ├── system/
|
||||||
|
│ │ │ └── status/ # System Status (Uptime, Memory)
|
||||||
|
│ │ └── users/
|
||||||
|
│ │ ├── [id]/ # User CRUD (einzelner User)
|
||||||
|
│ │ └── route.ts # User Liste + Create
|
||||||
│ ├── admin/
|
│ ├── admin/
|
||||||
│ │ ├── devices/ # Device Management
|
│ │ ├── devices/ # Device Management
|
||||||
|
│ │ ├── emails/ # Email Template Management
|
||||||
|
│ │ ├── geofences/
|
||||||
|
│ │ │ ├── events/ # Geofence Event History
|
||||||
|
│ │ │ └── page.tsx # Geofence Management
|
||||||
|
│ │ ├── mqtt/ # MQTT Provisioning
|
||||||
|
│ │ ├── settings/ # SMTP Settings (Super Admin)
|
||||||
|
│ │ ├── setup/ # Setup Guide
|
||||||
|
│ │ ├── users/ # User Management
|
||||||
|
│ │ ├── layout.tsx # Admin Layout + Navigation
|
||||||
│ │ └── page.tsx # Dashboard
|
│ │ └── page.tsx # Dashboard
|
||||||
|
│ ├── export/ # CSV Export Seite
|
||||||
|
│ ├── forgot-password/ # Passwort vergessen Seite
|
||||||
│ ├── login/ # Login-Seite
|
│ ├── login/ # Login-Seite
|
||||||
│ ├── page.tsx # Öffentliche Karte
|
│ ├── map/ # Karten-Seite (alternative Route)
|
||||||
|
│ ├── register/ # Registrierungs-Seite
|
||||||
|
│ ├── reset-password/ # Passwort zurücksetzen Seite
|
||||||
|
│ ├── unauthorized/ # Unauthorized Access Seite
|
||||||
|
│ ├── page.tsx # Öffentliche Karte (Home)
|
||||||
│ └── layout.tsx # Root Layout
|
│ └── layout.tsx # Root Layout
|
||||||
├── components/
|
├── components/
|
||||||
│ └── map/
|
│ ├── demo/
|
||||||
│ └── MapView.tsx # Leaflet Map Component
|
│ │ └── DemoMap.tsx # Demo Map Component
|
||||||
|
│ ├── map/
|
||||||
|
│ │ ├── GeofenceLayer.tsx # Geofence Visualization Layer
|
||||||
|
│ │ └── MapView.tsx # Leaflet Map Component
|
||||||
|
│ └── AuthProvider.tsx # Auth Context Provider
|
||||||
├── lib/
|
├── lib/
|
||||||
│ ├── auth.ts # NextAuth Config
|
│ ├── auth.ts # NextAuth Config
|
||||||
│ └── db.ts # SQLite Database Layer
|
│ ├── crypto-utils.ts # Encryption/Decryption Utils
|
||||||
|
│ ├── db.ts # SQLite Database Layer (User/Devices)
|
||||||
|
│ ├── demo-data.ts # Demo/Test Data Generator
|
||||||
|
│ ├── devices.ts # Device Helper Functions
|
||||||
|
│ ├── email-renderer.ts # React Email Renderer
|
||||||
|
│ ├── email-service.ts # Email Service (Nodemailer)
|
||||||
|
│ ├── geofence-db.ts # Geofence Database Layer
|
||||||
|
│ ├── geofence-engine.ts # Geofence Detection Engine
|
||||||
|
│ ├── geofence-notifications.ts # Geofence Notification Handler
|
||||||
|
│ ├── geo-utils.ts # Geolocation Utils (Haversine)
|
||||||
|
│ ├── mosquitto-sync.ts # Mosquitto Config File Sync
|
||||||
|
│ ├── mqtt-db.ts # MQTT Database Layer
|
||||||
|
│ ├── mqtt-subscriber.ts # MQTT Subscriber Service
|
||||||
|
│ ├── password-reset-db.ts # Password Reset Token DB
|
||||||
|
│ ├── settings-db.ts # Settings Database Layer
|
||||||
|
│ ├── startup.ts # Application Startup Logic
|
||||||
|
│ ├── types.ts # TypeScript Type Definitions
|
||||||
|
│ └── types/
|
||||||
|
│ └── smtp.ts # SMTP Type Definitions
|
||||||
├── scripts/
|
├── scripts/
|
||||||
|
│ ├── add-test-location.js # Test-Location hinzufügen
|
||||||
|
│ ├── cleanup-old-locations.js # Alte Locations löschen
|
||||||
│ ├── init-database.js # Database.sqlite Setup
|
│ ├── init-database.js # Database.sqlite Setup
|
||||||
|
│ ├── init-geofence-db.js # Geofence Tables Setup
|
||||||
│ ├── init-locations-db.js # Locations.sqlite Setup
|
│ ├── init-locations-db.js # Locations.sqlite Setup
|
||||||
│ ├── reset-admin.js # Admin User Reset
|
|
||||||
│ ├── remove-duplicates.js # Duplikate bereinigen
|
│ ├── remove-duplicates.js # Duplikate bereinigen
|
||||||
│ └── cleanup-old-locations.js # Alte Daten löschen
|
│ ├── reset-admin.js # Admin User Reset
|
||||||
|
│ ├── show-schema.js # DB Schema anzeigen
|
||||||
|
│ ├── sync-mqtt-config.ts # MQTT Config manuell syncen
|
||||||
|
│ ├── test-geofence.js # Geofence Detektion testen
|
||||||
|
│ ├── test-geofence-email.js # Geofence Email testen
|
||||||
|
│ ├── test-geofence-notification.js # Geofence Notification testen
|
||||||
|
│ ├── test-mqtt-geofence.js # MQTT Geofence Integration testen
|
||||||
|
│ ├── test-smtp.js # SMTP Connection testen
|
||||||
|
│ └── test-time-filter.js # Zeitfilter debuggen
|
||||||
├── data/
|
├── data/
|
||||||
│ ├── database.sqlite # User + Devices
|
│ ├── database.sqlite # User + Devices + MQTT + Geofences
|
||||||
│ └── locations.sqlite # Location Tracking
|
│ └── locations.sqlite # Location Tracking
|
||||||
|
├── emails/ # React Email Templates
|
||||||
|
│ └── geofence-alert.tsx # Geofence Alert Email Template
|
||||||
|
├── mosquitto/
|
||||||
|
│ ├── config/ # Mosquitto Config Files
|
||||||
|
│ │ ├── mosquitto.conf # Broker Config
|
||||||
|
│ │ ├── password.txt # Password File (bcrypt hashes)
|
||||||
|
│ │ └── acl.txt # ACL Rules File
|
||||||
|
│ └── logs/ # Mosquitto Log Files
|
||||||
|
├── public/ # Static Assets
|
||||||
├── types/
|
├── types/
|
||||||
│ └── location.ts # TypeScript Interfaces
|
│ └── (deprecated - moved to lib/types.ts)
|
||||||
└── middleware.ts # Route Protection
|
├── middleware.ts # Route Protection Middleware
|
||||||
|
├── instrumentation.ts # Next.js Instrumentation Hook
|
||||||
|
├── docker-compose.yml # Docker Compose Setup
|
||||||
|
├── Dockerfile # App Docker Image
|
||||||
|
└── package.json # Dependencies + Scripts
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user