Eventrr is an iOS event management app built using Swift, combining the power of UIKit and SwiftUI for an intuitive and modern user experience. The app leverages Firebase for backend services and cloud storage, with Realm used for local data persistence. Whether you're an admin managing events or an attendee joining them, Eventrr simplifies the entire process.
- Login / Sign Up: Users can log in or create an account with role selection (Admin/Attendee).
- Password Reset: Users can request a password reset link sent to their email.
- Role Selection: Users can choose their role upon signup, which tailors the app experience.
- Event List: Displays a list of all created events.
- Search Events: Search for events by name or location.
- Filter Events: Filter events based on categories.
- Event Creation: Create new events with details like:
- Title
- Category
- Date & Time
- Location (with the help of MapKit for location services)
- Description
- Admin View: Shows a list of events created by the admin.
- Attendee View: Displays events that the attendee has joined.
- Role-Based Data: The screen dynamically shows data based on the user's role.
- Admin Actions:
- Edit Event: Navigate to the event creation screen to update event details.
- Delete Event: Permanently remove the event.
- Attendee Actions:
- Join Event: Option to join an event if not already joined.
- Leave Event: Leave the event if already joined.
- User Info: Displays user's name and role.
- Edit Profile: Allows users to update their name and role.
- Change Password: Provides an option to change the user's password.
- Logout: Simple logout functionality.
- Swift with UIKit and SwiftUI
- Firebase for Authentication, Firestore, and Cloud Storage
- Realm for local data persistence
- MapKit and Core Location for location-based services
- Combine framework for handling asynchronous data streams
- Xcode 14.0 or later
- iOS 17.0 or later
- Swift 5.7 or later
- CocoaPods 1.10.1 or later
- Firebase Console (Firestore and Authentication enabled)
- Realm for local persistence
-
Clone the repository:
git clone https://github.com/yourusername/eventrr.git
-
Install dependencies using CocoaPods:
pod install
-
Open the project in Xcode:
open Eventrr.xcworkspace
-
Set up Firebase:
- Create a Firebase project and add your iOS app.
- Download the
GoogleService-Info.plist
file and include it in the Xcode project. - Enable Firestore and Authentication in Firebase Console.
-
Build and run the project on your preferred device or simulator.
- Admin Role: Create and manage events, edit or delete events, and view all event attendees.
- Attendee Role: Join or leave events, view event details, and manage your profile.
- Push notifications for event updates.
- In-app chat for event attendees.
- Integration with calendar services to add events directly.
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|
Light Mode | Dark Mode |
---|---|