A modern contact management application for tracking professional connections and networking events using SwiftData with relationship modeling.
NetworkingTracker helps professionals manage their network by tracking people they meet at various events. The app demonstrates SwiftData's relationship capabilities, allowing users to link contacts to specific events and maintain a comprehensive networking database.
- Contact Management: Add and edit people with names, email addresses, and notes
- Event Tracking: Create and manage networking events by location
- Relationship Mapping: Link contacts to the events where you met them
- Search Functionality: Quickly find contacts across all fields
- Sort Options: Organize contacts efficiently
- SwiftData Relationships: Demonstrates one-to-many relationships between events and people
- Framework: SwiftUI
- Data Persistence: SwiftData
- iOS Version: iOS 17+
- Architecture: Model-driven with SwiftData relationships
This project demonstrates:
- SwiftData relationship modeling (one-to-many)
- Advanced
@Queryusage - Search implementation
- Form-based CRUD operations
- Navigation with complex data models
NetworkingTracker/
├── Models/
│ ├── Person.swift # Contact model
│ └── Event.swift # Event model with relationships
├── Views/
│ ├── ContentView.swift # Main contacts list
│ ├── EditPersonView.swift
│ └── EventListView.swift
└── NetworkingTrackerApp.swift
@Model
class Person {
var name: String
var emailAddress: String
var details: String
var event: Event? // Relationship
var metAt: Date
}@Model
class Event {
var name: String
var location: String
@Relationship(deleteRule: .cascade) var people: [Person]
}The app demonstrates SwiftData's relationship capabilities:
- Each Person can be linked to an Event
- Events maintain a collection of associated People
- Cascade delete ensures data integrity
Full-text search across multiple contact fields for quick retrieval.
- SwiftData one-to-many relationships
- Cascade delete rules
- Search functionality implementation
- Complex form handling with relationships
- Date tracking and formatting
- Navigation between related entities
- Professional networking management
- Conference contact tracking
- Event-based relationship organization
- CRM (Customer Relationship Management) basics
- Photo attachments for contacts
- Calendar integration for events
- Export contacts to vCard format
- Reminder notifications for follow-ups
- Analytics dashboard for networking activity
Author: Martynas Prascevicius Contact: mpcode@icloud.com Purpose: Learning project demonstrating SwiftData relationships