A comprehensive iOS app for discovering, creating, and managing social events in your area. Built with SwiftUI and designed for a seamless event experience.
- Home Feed: Browse upcoming events with beautiful event cards
- Event Details: View comprehensive event information, descriptions, and RSVPs
- Create Events: Add new events with ease using the add event flow
- Edit Events: Modify event details after creation
- Event Map: Explore events on an interactive map with location details
- User Profile: View your profile and events you've RSVPed to
- Event Service: Backend integration for fetching and managing events
- Error Handling: Robust error handling and loading states throughout the app
- Language: Swift
- UI Framework: SwiftUI
- Architecture: MVVM (Model-View-ViewModel)
- Platform: iOS 15+
- IDE: Xcode 14+
Gatherly/
├── Core/
│ ├── GatherlyApp.swift # App entry point
│ ├── ContentView.swift # Main navigation
│ └── EventService.swift # API/data service layer
├── Home/
│ ├── HomeView.swift
│ ├── EventsViewModel.swift
│ └── EventCardView.swift
├── EventDetails/
│ ├── EventDetailsView.swift
│ └── EventDetailsViewModel.swift
├── AddEvent/
│ ├── AddEventView.swift
│ └── AddEventViewModel.swift
├── EditEvent/
│ ├── EditEventView.swift
│ └── EditEventViewModel.swift
├── Location/
│ ├── EventMapView.swift
│ ├── EventsMapViewModel.swift
│ └── MapDetailView.swift
├── ProfileView/
│ ├── ProfileView.swift
│ ├── ProfileVIewModel.swift
│ └── ProfileEventCardView.swift
├── Models/
│ ├── Event.swift
│ ├── UserProfile.swift
│ ├── RSVPedEvent.swift
│ └── EventsResponse.swift
├── Error Handling/
│ ├── LoadingState.swift
│ └── ErrorType.swift
├── Assets.xcassets/
└── Demo/
├── Home.png
├── Profile.png
├── Maps.png
└── Event Info.png
- Xcode 14 or later
- iOS 15 or later
- Swift 5.7+
-
Clone the repository:
git clone https://github.com/maxwellhu9/gatherly.git cd gatherly -
Open the project in Xcode:
open Gatherly.xcodeproj
-
Select a simulator or connected device and press Run (⌘R).
Gatherly uses the MVVM pattern for clean separation of concerns:
- Views: SwiftUI components for UI rendering
- ViewModels: Business logic and state management
- Models: Data structures for events, profiles, and responses
- Service:
EventServicehandles backend communication and data fetching - Error Handling: Centralized error and loading state management
Contributions are welcome! Feel free to fork the repository and submit pull requests for bug fixes, features, or improvements.
This project is open source and available to modify and extend.
Created by Maxwell Hu



