14 KiB
Epic 11 - The Smart Garage (User Frontend)
Frontend Specification for Service Finder Public Interface - Dual-UI, Gamified, Brand-Aware Vehicle Management
📋 Overview
This epic defines the development of a dual-interface public frontend for Service Finder end-users (B2C and B2B). The "Smart Garage" offers two distinct experiences: a youthful, gamified "Private Garage" for individual vehicle owners and a clean, analytical "Corporate Fleet" interface for business users. Upon login, users choose their preferred interface, which then tailors the entire experience to their needs.
🎯 Core Concept: Dual-UI Architecture
Kétarcú UI - One system, two completely different visual and functional experiences based on user type.
🏠 Private Garage (Privát Garázs)
- Target Audience: Individual vehicle owners, enthusiasts, young drivers
- Design Aesthetic: Youthful, energetic, gamified, themeable
- Color Scheme: Vibrant colors, gradients, dynamic animations
- Key Focus: Fun, engagement, community, personal achievement
- Gamification: Heavy emphasis on points, levels, badges, daily challenges
🏢 Corporate Fleet (Céges Flotta)
- Target Audience: Fleet managers, business owners, logistics companies
- Design Aesthetic: Professional, clean, data-driven, minimalist
- Color Scheme: Corporate blues/grays, clean lines, subtle accents
- Key Focus: ROI, TCO (Total Cost of Ownership), analytics, efficiency
- Gamification: Light - focuses on efficiency metrics and cost savings
🚪 Entry Point: Profile Selector Screen
Upon successful authentication, users are presented with a choice screen before entering the main application.
Profile Selector Requirements:
-
Visual Choice Interface
- Two large, visually distinct cards: "Private Garage" and "Corporate Fleet"
- Animated previews showing each interface's style
- Brief description of each mode's benefits
-
Smart Default & Memory
- Remember user's last choice (cookie/localStorage)
- Allow switching modes later via settings
- "Not sure? Try Private Garage" for new users
-
Role Enforcement
- B2B accounts (company-associated) default to Fleet but can choose Garage
- B2C accounts default to Garage but can request Fleet access
🧩 Core Features (Both Interfaces)
1. Daily Quiz (Napi Kvíz)
- Purpose: Engage users daily, educate about vehicle maintenance, reward participation
- Implementation: Dismissible pop-up appearing once per 24 hours
- Functionality:
- Multiple-choice questions about vehicle care, safety, Service Finder features
- Immediate feedback with explanations
- Points awarded for correct answers (scaling with difficulty)
- Streak counter for consecutive days of participation
- Future Expansion: Foundation for full educational module
2. Garage Display (Garázs Csempék)
- Core Requirement: Display user's vehicles with real brand logos and country flags
- Implementation:
- Vehicle cards/tiles showing make, model, year, license plate
- High-quality SVG brand logos (downloaded from brand repositories)
- Country flag based on vehicle origin/registration
- Quick status indicators (service due, expenses this month, fuel level if connected)
- Visual Design:
- Private Garage: Animated cards, hover effects, themeable backgrounds
- Corporate Fleet: Compact table view, sortable columns, export options
3. Quick Action Buttons (Gyors-akció Gombok)
- Primary Actions:
- [Költség felvitele] - Quick expense entry
- [Szerviz keresése] - Service finder launch
- [Üzemanyag] - Fuel tracking (if enabled)
- [Jármű hozzáadása] - Add new vehicle
- Implementation:
- Floating action button (FAB) or fixed toolbar
- Context-sensitive actions (e.g., if vehicle selected, actions apply to that vehicle)
- One-tap modals for quick data entry
4. Trophy Showcase (Vitrin - Gamification Kupák és Díjak)
- Purpose: Visual display of user achievements
- Implementation:
- Trophy cabinet/shelf metaphor
- 3D-rendered or high-quality 2D trophy graphics
- Categories: Participation, Knowledge, Savings, Community
- Empty slots for future achievements (creates goals)
- Private Garage: Prominent display, celebration animations when earned
- Corporate Fleet: Subtle badge system, efficiency achievement markers
5. Vehicle Detail & Analytics
- Private Garage: Fun stats (km driven equivalent to moon distance, CO2 saved vs trees)
- Corporate Fleet: Serious analytics (TCO per km, maintenance cost trends, ROI calculations)
- Shared Features:
- Service history timeline
- Expense categorization charts
- Fuel efficiency graphs
- Predictive maintenance alerts
🎫 Development Tickets (Gitea Issues)
Ticket 1: Dual-UI Profile Selector & Mode Switching System
Scope: Frontend Core, Authentication Flow, User Preferences Complexity: Medium
Requirements:
-
Profile Selector Component
- Two large interactive cards with animated previews
- Visual distinction between Private Garage and Corporate Fleet styles
- Responsive design (mobile/tablet/desktop)
-
User Preference Management
- API integration for saving/retrieving interface preference
- Local storage fallback for offline usage
- Preference change auditing
-
Authentication Flow Integration
- Redirect to selector after successful login
- Skip selector if preference already set (configurable)
- "Remember my choice" option with expiration
-
Mode Switching Mechanism
- Settings page option to switch between interfaces
- Confirmation modal explaining implications
- Session restart or dynamic theme switching
Ticket 2: Daily Quiz System with Dismissible Pop-up
Scope: Frontend Engagement, Education, Gamification Complexity: Medium
Requirements:
-
Quiz Pop-up Component
- Dismissible modal that appears once per 24 hours per user
- Configurable appearance delay (e.g., 30 seconds after page load)
- "Remind me later" and "Don't show again today" options
-
Question Management
- Dynamic question loading from API/content management system
- Multiple-choice format with 4 options
- Question categories (Maintenance, Safety, Service Finder Features, Vehicle Knowledge)
-
Scoring & Rewards
- Points awarded based on question difficulty
- Streak counter for consecutive days of participation
- Visual feedback (confetti for correct, gentle correction for wrong)
-
Quiz Administration
- Admin interface for adding/editing questions
- Question scheduling (seasonal questions, promotional content)
- Analytics dashboard for quiz participation rates
Ticket 3: Garage Tile System with Real Brand Logos & Country Flags
Scope: Frontend UI, Asset Management, Vehicle Display Complexity: High
Requirements:
-
Brand Logo Integration
- SVG logo library for all major vehicle brands (200+ brands)
- Logo licensing verification and compliance
- Fallback generic vehicle icon for unknown brands
- Logo optimization and lazy loading
-
Vehicle Card/Tile Components
- Two display modes: Card view (Private Garage) and Table row (Corporate Fleet)
- Vehicle image placeholder with brand logo overlay
- Country flag based on vehicle registration/origin
- Quick status indicators (service due, insurance expiry, etc.)
-
Garage Layout Management
- Grid layout for Private Garage (themable, rearrangeable)
- Sortable table for Corporate Fleet (by cost, mileage, age, etc.)
- Filtering by vehicle type, status, location
-
Asset Management System
- Centralized asset service for logos and flags
- CDN integration for fast delivery
- Cache management and version control
Ticket 4: Quick Action Buttons & Contextual Shortcuts
Scope: Frontend UX, Productivity, User Flows Complexity: Medium
Requirements:
-
Quick Action System
- Floating Action Button (FAB) that expands to show actions
- Context-aware actions (different actions if vehicle is selected)
- Keyboard shortcuts for power users
-
Core Action Implementations
- Expense Entry: Modal form with smart categorization (fuel, maintenance, insurance, etc.)
- Service Finder: Launch service search with pre-filled vehicle details
- Fuel Tracking: Quick fuel entry with odometer, amount, price per liter
- Vehicle Add: Streamlined vehicle addition form
-
Action Customization
- User-configurable quick actions (choose which 4 appear)
- Role-based action availability (fleet managers see different actions)
- Usage analytics to suggest most relevant actions
-
Mobile Optimization
- Bottom navigation bar for mobile devices
- Swipe gestures for quick access
- Haptic feedback on action completion
Ticket 5: Trophy Showcase & Gamification Display
Scope: Frontend Gamification, Visual Design, Animation Complexity: Medium-High
Requirements:
-
Trophy Cabinet Component
- 3D shelf or grid display of earned trophies
- Trophy categories with distinct visual styles
- Empty trophy slots with "locked" visual state
-
Trophy System Integration
- API integration with backend gamification system
- Real-time trophy unlock notifications
- Trophy detail views (unlock criteria, rarity statistics)
-
Achievement Animations
- Celebration sequence when trophy earned
- Subtle glow/pulse for newly earned trophies
- Share functionality (social media integration)
-
Corporate Fleet Achievement System
- Professional badge system for efficiency milestones
- Cost-saving achievement markers
- Team/company-wide achievement boards
Ticket 6: Vehicle Analytics & TCO Dashboard
Scope: Frontend Data Visualization, Analytics, Business Intelligence Complexity: High
Requirements:
-
Dual-Interface Analytics
- Private Garage: Fun, engaging visualizations (km to moon, CO2 to trees)
- Corporate Fleet: Professional business intelligence (TCO, ROI, depreciation)
-
TCO Calculation Dashboard
- Total Cost of Ownership breakdown (acquisition, fuel, maintenance, insurance, tax)
- Cost per kilometer/mile calculations
- Comparison against vehicle class averages
-
Predictive Analytics
- Maintenance cost forecasting based on mileage/age
- Fuel price trend analysis
- Optimal replacement timing suggestions
-
Report Generation
- Export analytics as PDF/Excel
- Scheduled report delivery (email)
- Shareable dashboard links for team collaboration
🛠️ Technology Stack
- Framework: Vue 3 with Composition API (consistent with admin interface)
- UI Library: Vuetify 3 for Corporate Fleet, custom themed components for Private Garage
- State Management: Pinia with separate stores for Garage/Fleet modes
- Charts: Chart.js for analytics, D3.js for advanced visualizations
- Maps: Leaflet for service finder integration
- Animation: GSAP for smooth transitions and trophy animations
- HTTP Client: Axios with interceptors for mode-specific API routing
- Authentication: JWT tokens with mode preference claim
- Build Tool: Vite with separate build configurations for optimization
- Package Manager: npm
🎨 Design Requirements
-
Private Garage Design System:
- Vibrant color palette with gradients
- Rounded corners, soft shadows, playful typography
- Interactive elements with hover/focus animations
- Theme support (light/dark/seasonal themes)
-
Corporate Fleet Design System:
- Material Design 3 with corporate refinement
- Clean lines, ample white space, professional typography
- Subtle animations for transitions only
- Accessibility-focused (WCAG 2.1 AA compliant)
-
Brand Logo Integration: High-quality SVG logos with consistent sizing and coloring
-
Country Flags: Standardized flag library with proper aspect ratios
🔧 Technical Specifications
- Code Quality: TypeScript strict mode, component-based architecture
- Testing: Vitest for unit tests, Cypress for E2E with mode-switching scenarios
- Performance: Lazy loading of mode-specific bundles, image optimization
- Security: Content Security Policy for SVG assets, XSS protection
- Browser Support: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
📊 Success Metrics
- User Engagement: Daily quiz participation > 40% of active users
- Performance: Mode switching < 500ms, page load < 2 seconds
- Satisfaction: User preference retention > 80% (users don't switch back)
- Business: Fleet users report time savings > 2 hours/week on vehicle management
🔗 Dependencies
- Backend: Vehicle API with brand/origin data, Gamification API for trophies
- APIs: Quiz content API, Expense tracking API, Service finder API
- External: Brand logo SVG repository, Country flag library
- Design: Complete design systems for both interfaces
📅 Implementation Phases
- Phase 1 (Week 1-3): Foundation - Profile selector, mode switching, basic layout
- Phase 2 (Week 4-6): Core features - Garage tiles, quick actions, basic analytics
- Phase 3 (Week 7-9): Gamification - Daily quiz, trophy system, animations
- Phase 4 (Week 10-12): Advanced analytics - TCO dashboard, predictive features
- Phase 5 (Week 13-14): Polish - Performance optimization, accessibility, testing
🚀 Deployment Strategy
- Development: Feature flags for dual-UI components
- Staging: A/B testing of interface preferences with test users
- Production: Gradual rollout starting with Private Garage, then Corporate Fleet
This specification serves as the foundation for Gitea ticket creation and frontend development planning. Each "Ticket" section corresponds to a separate development ticket that will be created in the Gitea project management system.