EventCheck is a SwiftUI-based iOS demo app that simulates a staff check-in experience for events.
It was built to demonstrate clean iOS architecture, authentication flow, and state-driven navigation — with a focus on clarity, polish, and recruiter readability.
This project currently uses demo authentication logic and mock data to showcase the end-to-end user experience before backend integration.
-
Demo Login Flow
- Valid demo credentials required to sign in
- Session-based authentication state
- Secure logout with automatic return to login
-
Root Tab Navigation
- Events
- Activity
- Profile
-
Profile Screen
- Displays authenticated user information
- Includes logout action
-
SwiftUI Architecture
- State-driven navigation (no imperative routing)
- Centralized session management
- Clean separation of concerns
Use the following credentials to log in:
Email: staff@eventcheck.com Password: demo
These credentials are intentionally hard-coded for demo purposes and will be replaced with real authentication in a future iteration.
- SwiftUI
- ObservableObject + @Published
- EnvironmentObject for global session state
- AppRouter controls auth → app navigation
- RootTabView serves as the authenticated shell
The UI reacts entirely to changes in authentication state — no manual navigation or view pushing is used.
- Swift
- SwiftUI
- Combine
- iOS 17+
- Real authentication (Supabase)
- Sign-up flow with persisted user profile
- Event list with mock or live data
- Activity logs
- Role-based access (staff vs admin)
This project was built as a portfolio demo to showcase:
- iOS engineering fundamentals
- Authentication and session handling
- Declarative UI patterns
- Clean, readable code suitable for team environments
MIT