The Event Management app is a Flutter mobile application built to help users plan event “portfolios”, manage event-related data, and generate structured event reports (including PDF previews). It includes authentication, onboarding/splash flow, and a multi-tab home experience for navigating between event portfolios, checklists, notifications, sponsors/vendors, and user profile features.
What the app does (major features)
Onboarding + authentication
Splash screen and onboarding flow
Login/sign-up with support for Google Sign-In and email-based auth (including forgot/reset password)
Home + navigation
A main home screen with navigation to portfolio/events sections and other modules (notifications, profile/settings, etc.)
Portfolio / event creation
Users can open portfolio details for a selected category and create/edit event data through rich forms (event details, organizing information, checklist-based sections, resources/logistics, etc.)
The form supports checkbox-driven section inputs and (for specific sections) AI-assisted text generation based on selected checklist items
Event details
View event details screens from stored event/portfolio data
Event report builder
A dedicated flow for creating an event report using section checklists and generated/editable text fields
The app can generate the report and show a PDF preview
Checklists
Checklist screens for viewing checklist items and detailed checklist information
Notifications
A notifications screen driven by Firebase Cloud Messaging integration
Content modules
Vendors and sponsors detail screens (multiple sponsor categories)
News preview/details
Bookmarks
Privacy/Policy screens
Resume builder
A resume builder module with PDF preview functionality
App architecture & integrations
State management: flutter_riverpod
Navigation: go_router
Firebase: initialization plus support for crash reporting and messaging (firebase_core, firebase_messaging, firebase_crashlytics, analytics)
AI generation: section text generation via an internal API service (used by the report and checklist sections)
Local persistence: uses local storage (SharedPreferences) to keep generated/editable text available across sessions
PDF: uses pdf + printing to generate and preview PDFs