Skip to content

arnavjagtap2512/ui-hackviolet26

Repository files navigation

Violet Guardian - iOS Companion App ("The Pulse") 🛡️

A women's safety app using wearable cameras (HoloLens/Ray-Ban Meta glasses) + iOS app to detect threats via AI and trigger automatic emergency responses.

Built for HackViolet 2026 at Virginia Tech.


🎯 Project Overview

Violet Guardian combines wearable camera technology with an iOS companion app to provide real-time safety monitoring and emergency response capabilities. The system uses AI to analyze video feeds from smart glasses, detect potential threats, and automatically trigger emergency protocols.


🏗️ Architecture

This project follows Clean Architecture with MVVM pattern for scalability and testability:

Hackviolet_2026/
├── Application/          # App entry point, DI container, environment config
│   ├── AppDelegate.swift
│   ├── DependencyContainer.swift
│   └── Environment.swift
├── Core/                 # Shared utilities, extensions, protocols
│   ├── Extensions/
│   ├── Protocols/
│   └── Utilities/
├── Domain/               # Business logic (pure Swift, no dependencies)
│   ├── Entities/
│   ├── Errors/
│   ├── RepositoryInterfaces/
│   └── UseCases/
├── Data/                 # Data layer implementation
│   ├── Mappers/
│   ├── Network/
│   ├── Repositories/
│   └── Services/
└── Presentation/         # UI layer (SwiftUI + ViewModels)
    ├── Common/
    ├── Scenes/
    └── MainTabView.swift

Layer Responsibilities

Layer Responsibility
Domain Pure business logic, entities, use cases, repository protocols
Data Repository implementations, networking, services, mappers
Presentation SwiftUI views, ViewModels, UI state management

Key Benefits

  • Separation of Concerns: Each layer has a single responsibility
  • Testability: Business logic isolated from frameworks
  • Scalability: Easy to add features without affecting existing code
  • No Domino Effects: Changes in one feature don't cascade to others

✨ Features

Dashboard (Home)

  • Real-time safety status monitoring
  • "Walk With Me" escort mode
  • Emergency trigger button
  • Status card with danger level indicator

Safety Map

  • Color-coded zone overlays (green/yellow/red)
  • Interactive zone rating system
  • MapKit integration with user location
  • 49 safety zones covering Blacksburg area

AI Chatbot

  • Safety assistance and tips
  • Incident reporting
  • Quick action buttons
  • Simulated AI responses (ready for backend integration)

Profile

  • Emergency contacts management
  • Notification settings
  • Location sharing toggle

Emergency Mode

  • Full-screen red alert
  • "Recording Evidence" simulation
  • Flashing visual indicator

📋 PRD Implementation Status

Based on the Product Requirements Document:

  • ✅ Polling Engine (1-second interval heartbeat)
  • ✅ Dynamic Map with Color Quadrants
  • ✅ Haptic Feedback (caution/threat/emergency patterns)
  • ✅ Audio Playback Service
  • ✅ Emergency "Black Box" Mode
  • ✅ Walk With Me escort feature
  • ✅ Status Card with danger levels
  • ✅ Data models matching backend API

🛠️ Tech Stack

  • iOS: SwiftUI, MapKit, CoreLocation, AVFoundation
  • Architecture: Clean Architecture + MVVM
  • Dependency Injection: Custom DI Container
  • Concurrency: Swift async/await
  • Backend: Python (separate repo)
  • AI/ML: Computer vision for threat detection
  • Voice AI: ElevenLabs API integration ready

🚀 Quick Start

# Clone the repository
git clone https://github.com/YOUR_USERNAME/Hackviolet_2026.git
cd Hackviolet_2026

# Open in Xcode
open Hackviolet_2026.xcodeproj

# Build and run (⌘R)

Requirements

  • iOS 17+
  • Xcode 15+
  • Swift 5.9+

📂 Adding New Features

The architecture makes adding features straightforward:

  1. Create Entity in Domain/Entities/
  2. Define Repository Protocol in Domain/RepositoryInterfaces/
  3. Create Use Case in Domain/UseCases/
  4. Implement Repository in Data/Repositories/
  5. Create ViewModel in Presentation/Scenes/YourFeature/
  6. Create View in Presentation/Scenes/YourFeature/
  7. Register in DependencyContainer

👥 Team

Built for HackViolet 2026 at Virginia Tech.


📝 License

This project is created for HackViolet 2026. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages