EventTicketing
is an iOS/macOS application that provides you a simple way to create and manage your own event tickets.
- Rich user interface to display, order, edit, scan and validate tickets.
- Support different delivery services to send tickets. This app currently supports built-in Mail application and SendGrid.
- Display a toast notification to user while handling expensive computations using in-house ToastUI package.
- Support multiple languages and able to change the language at runtime. This app currently supports English and Vietnamese.
- Vectorized Twitter-like splash screen and animated confetti effect to celebrate the user using Core Animation framework.
- MVVM architecture with SwiftUI and Combine to build rich user interfaces and handle asynchronous events.
- Firebase as the backend for real-time database.
- Swift Package Manager for managing third-party packages.
- Mac Catalyst for sharing code between iOS and macOS platforms. This app also has an in-development macOS native version using AppKit.
- iOS 14.0+ | macOS 11.0+
- Xcode 12.0+ | Swift 5.3+
- Clone this repository.
- Replace the Firebase iOS configuration file
GoogleService-Info.plist
in./EventTicketing/Application
folder with your own one. - Change the Bundle Identifier of the application to match with the one you provided when you setup the Firebase integration.
- Replace the SendGrid API key in
SG_API_KEY
environment variable in Xcode's build scheme with your own one. - Install
SwiftGen
using your choice of package manger. - Open the project and build.
All issue reports, feature requests, pull requests and GitHub stars are welcomed and much appreciated.
Quan Tran (@quanshousio)
EventTicketing
is available under the MIT license. See the LICENSE file for more info.