Skip to content

Latest commit

 

History

History
255 lines (204 loc) · 7.25 KB

File metadata and controls

255 lines (204 loc) · 7.25 KB

Aurelium

"Your World, Curated"

A luxury travel app that creates your personal, private travel atlas. Built with SwiftUI for iOS.

🚀 Quick Start

This project contains the complete AURELIUM source code. The easiest way to get started:

Quick Setup (Recommended)

# Run the automated setup script
./setup.sh

This provides step-by-step setup instructions and optionally generates the project with XcodeGen if available.

Manual Setup Options

Option 1: Create Xcode Project (Recommended)

  1. Open Xcode 15+ and create a new project:

    • File → New → Project
    • Choose "App" template (iOS)
    • Product Name: Aurelium
    • Team: Your Apple Developer team
    • Bundle Identifier: com.aurelium.app
    • Interface: SwiftUI
    • Language: Swift
    • Life Cycle: SwiftUI App
    • Use Core Data
  2. Replace the default files with our implementation:

    • Delete AureliumApp.swift, ContentView.swift, and Assets.xcassets
    • Copy all files from /workspace/Aurelium/ to your Xcode project directory
    • Ensure the file structure matches the specification
  3. Configure Capabilities:

    • Select project → Signing & Capabilities
    • Add iCloud: Enable CloudKit with container iCloud.com.aurelium.app
    • Add Face ID capability
  4. Build and Run: Select device/simulator and press Cmd+R

Option 2: Use Swift Package

# Open the Package.swift file directly in Xcode
open Package.swift

Option 3: XcodeGen (Advanced)

If you have XcodeGen installed:

brew install xcodegen
xcodegen generate
open Aurelium.xcodeproj

Overview

Aurelium is not just another travel app—it's your own luxury travel companion. It organizes your world through a map-first interface, storing visited countries, wishlist destinations, and personal notes about places that matter to you.

Key Features

🗺️ Interactive World Map

  • Country outlines with custom coloring for visited/wishlist status
  • Custom pins for specific locations
  • Smooth zooming and navigation
  • Country-level and city-level details

📍 Personal Nodes

  • Rich location entries with photos, notes, and categories
  • Face ID protection for private memories
  • Categories: Landmark, Restaurant, Boutique, Experience, Custom
  • Visit status tracking

✈️ Trip Organization

  • Group locations into curated trips
  • Timeline view with beautiful cards
  • Map overlay for trip routes
  • Exportable trip bundles

🔒 Privacy First

  • No ads, no social features
  • All data encrypted and stored locally
  • Optional iCloud sync
  • Face ID locking per entry

🎨 Luxury Design

  • Obsidian black, ivory white, and gold accents
  • Rounded corners and soft shadows
  • Smooth animations and transitions
  • Apple Human Interface Guidelines inspired

Technical Architecture

Frameworks

  • SwiftUI - Modern declarative UI
  • Combine - Reactive programming
  • Core Data - Local data persistence
  • CloudKit - iCloud synchronization
  • MapKit - Interactive maps and overlays
  • CryptoKit - Data encryption

Project Structure

Aurelium/
├── App/
│   ├── AureliumApp.swift
│   ├── ContentView.swift
│   └── Environment/
├── Core/
│   ├── Persistence/
│   │   ├── CoreDataStack.swift
│   │   ├── CloudKitSync.swift
│   │   └── Models/
│   ├── Map/
│   │   ├── MapView.swift
│   │   ├── Overlays/
│   │   └── GeoJSON/
│   └── Security/
│       ├── FaceIDManager.swift
│       └── Encryption.swift
├── Features/
│   ├── MapFeature/
│   ├── NodeFeature/
│   ├── TripFeature/
│   ├── LibraryFeature/
│   └── SharingFeature/
├── UI/
│   ├── Components/
│   ├── Styles/
│   ├── Theme/
│   └── Icons/
└── Resources/

Data Models

Country

  • id, name, isoCode
  • status (visited/wishlist/none)
  • Custom color overrides

Node

  • Location data with coordinates
  • Rich text descriptions
  • Photos and attachments
  • Category and tags
  • Visit status and Face ID lock

Trip

  • Collections of nodes
  • Date ranges and descriptions
  • Cover photos and notes

Export/Import

Aurelium supports .aurelium bundles:

  • ZIP container with JSON metadata
  • Core Data snapshot
  • Photos and attachments
  • Optional password protection
  • Share via AirDrop or files

Development Status

This is a comprehensive specification and complete implementation. Key components implemented:

Complete Source Code - All SwiftUI views and logic ✅ Project Structure - Clean MVVM architecture with modular features ✅ Core Data Models - Country, Node, Trip entities with relationships ✅ CloudKit Integration - iCloud synchronization framework ✅ MapKit Implementation - Interactive world map with custom pins ✅ Node System - Full CRUD with Face ID protection and encryption ✅ Trip Management - Timeline views and organization features ✅ Security - AES encryption and biometric authentication ✅ Export/Import - .aurelium bundle format with ZIP containers ✅ UI Components - Luxury design system with gold accents ✅ Navigation - 3-tab interface with smooth transitions ✅ Localization - English strings and setup ✅ Swift Package - Alternative package-based setup ✅ XcodeGen Config - Automated project generation ✅ Entitlements - Proper iCloud and Face ID configuration

🚧 Future Enhancements:

  • Country GeoJSON overlays with boundary data
  • Photo gallery integration and management
  • Advanced trip planning with itineraries
  • Offline map tiles for remote areas
  • Apple Vision Pro spatial computing support
  • WidgetKit extensions for quick access

Building and Running

Method 1: Manual Xcode Project Setup (Recommended)

Follow the step-by-step instructions in the Quick Start section above.

Method 2: XcodeGen (Automated)

If you have XcodeGen installed, you can generate the project automatically:

# Install XcodeGen (if not already installed)
brew install xcodegen

# Generate the Xcode project
xcodegen generate

# Open the generated project
open Aurelium.xcodeproj

Method 3: Swift Package

  1. Open Package.swift in Xcode
  2. Build and run as Swift Package (limited functionality)

Method 4: Manual Setup

See SETUP.md for detailed manual configuration instructions.

Requirements

  • Xcode 15.0+
  • iOS 17.0+ deployment target
  • macOS Ventura 13.0+
  • Apple Developer Account (for iCloud and Face ID)

Capabilities Configuration

The app requires these capabilities (automatically configured with XcodeGen):

  • iCloud: CloudKit with container iCloud.com.aurelium.app
  • Face ID: Biometric authentication for private nodes
  • Location: Optional location services for adding places
  • Camera: Photo capture for travel memories
  • Photo Library: Access to saved photos

Design Philosophy

Aurelium embraces minimalism and luxury:

  • Clean, spacious interfaces
  • Subtle gold accents
  • Smooth 60fps animations
  • Privacy by design
  • User-curated content only

Future Enhancements

  • Offline map tiles
  • Apple Vision Pro support
  • Advanced trip planning
  • Journal mode
  • Bookmark syncing
  • Third-party integrations

"Your World, Curated" - AURELIUM