Rendez: Event Ticketing App
Project Description
Rendez is an event ticketing app that allows users to easily host and join events, manage tickets, and handle refunds. The app offers two distinct user experiences: one for event hosts and one for attendees. As a host, users can create events, set ticket pricing, manage waitlists, and track payments. Attendees can browse events, purchase tickets, join waitlists, and handle RSVPs or refunds. Additional features include NFC ticket tapping for easy check-ins, ticket transfer between users, and displaying upcoming tickets on the homepage through Live Activities.
Inspiration
The inspiration for Rendez came from the need for a streamlined and intuitive platform for event management. Existing solutions often felt cluttered or lacked the flexibility to handle both simple and complex events. I wanted to create a tool that simplifies the process of hosting events while also providing users with an enjoyable experience when joining events. Features like ticket refunds and live event updates were particularly important, as I wanted to ensure that attendees had control over their event participation.
What I Learned
Building Rendez taught me valuable lessons in app architecture, backend integration, and user experience design. I learned how to:
Implement complex UI interactions using SwiftUI. Use Firebase for user authentication and data storage, ensuring secure access for both hosts and attendees. Integrate Stripe for seamless payment processing, ticket sales, and refunds. Handle state management and navigation across multiple views using Xcode and Swift. Technologies Used
Xcode: For development and building the app. Swift and SwiftUI: Used to create the user interface and handle logic within the app. Firebase: Used for user authentication and event data management. Stripe: Integrated to process payments, manage refunds, and handle event ticket purchases securely. Challenges
Developing Rendez came with a variety of challenges:
Firebase Authentication: Managing authentication for both hosts and attendees was tricky, especially when handling different user roles within the same app. I had to ensure smooth navigation and appropriate access control. Stripe Integration: Setting up Stripe for payments required understanding how to handle transactions, refunds, and security protocols. The challenge was ensuring that payment flows were seamless and error-free. SwiftUI Navigation: Managing complex navigation between views based on user state (whether they are logged in as a host or user) posed a significant challenge. I had to ensure the app provided a smooth and intuitive experience for both roles. Live Activities and NFC Ticketing: Implementing NFC for ticket tapping and integrating Live Activities to display tickets dynamically required learning new APIs and ensuring compatibility with various devices. Overall, Rendez represents my growth as a developer in tackling real-world problems and building a functional app that addresses user needs.
Log in or sign up for Devpost to join the conversation.