Interactive Multimedia Web App

Замовник: AI | Опубліковано: 17.11.2025

I need an app for tracking vacuum pump maintenance. The app needs two main interfaces: one for customers (users) and one for the service team. It should support secure data handling, image uploads, and notifications. Key features for users: - Register and log in with details like name, email, and pump info. - Request service by taking/uploading a pump photo, which generates a unique job number sent to the service center for pickup. - Attach extra images/descriptions for issues, triggering team notifications. - Track pump status (e.g., picked up, in service, ready), with updates and estimated return times. - View full service history, including past jobs, photos, and details like vacuum pressure or oil level. - Receive reminders for due services and book appointments directly. For the service team: - View and acknowledge requests with job details and photos. - Update statuses, enter service data (e.g., vacuum pressure, oil level, repairs), and estimate timelines. - Manage pickups/returns and assign tasks. - Access admin tools for reports and all jobs. - ⁠Integration of Xero for invoicing and customer details (if possible) General requirements: - Push notifications for updates, reminders, and alerts. - Backend database for secure storage of data and histories. - Intuitive UI, search functions, and export options (e.g. PDF reports). Key Entities in the App • Pump Record: Core data object. Includes: • Unique serial number (required, acts as a primary identifier). • Customer contact details (e.g., name, email, phone). • Other details (e.g., pump model, purchase date, service history). • Images (e.g., uploaded photo of the pump). • Service timer: Tracks the last service date and schedules a 1-year reminder. • Users: • Operations Staff: Internal users who can add/view/update pump records. • Customers: End-users who register/login to request services and view their pumps. • Notifications: Automated emails sent from the app (e.g., using an email service like SendGrid or AWS SES). • Service Requests: Handled manually via email to service@ezzivision; no automated processing in the app. Scenario 1: New Pump Purchase from Ezzi Vision This is staff-initiated for customers buying directly from the company. 1. Staff Entry: • Operations staff logs into the app (assume staff have admin/privileged accounts). • They create a new pump record: • Enter the unique serial number. • Add customer contact details (name, email, phone, etc.). • Optionally, add other pump info (model, purchase date). • No image upload required here (unless specified). 2. Service Scheduling: • Upon saving the record, the app automatically sets a “last serviced” date to the current date (or purchase date). • Schedule an email notification to the customer’s email exactly 1 year later, reminding them to service the pump. • Email content: Something like “Your pump (Serial: [serial]) is due for service. Contact us or request via the app.” 3. Ongoing: • The customer can later register/login to view/manage this pump if needed (see Scenario 2 for registration). Staff Login → Create Pump Record (Serial + Contacts) → Save → Auto-Set Last Serviced Date → Schedule 1-Year Email Reminder → Done Scenario 2: Customer-Initiated Service Request This is for ongoing services or issues, where the customer starts the process via the app. 1. Customer Registration/Login: • If not registered: User enters email → App sends OTP to email → Verify OTP to create account and log in. • Login uses email + OTP (no passwords; OTP sent each time for security). • Once logged in, email is tied to their profile for future logins and notifications. 2. Adding Pump and Requesting Service: • Customer navigates to “Request Service” or “Add Pump” section. • They create a new pump record (or select an existing one if they have multiple): • Enter unique serial number. • Upload image of the pump. • Add other details (e.g., issue description, pump model). • Include/update contact details (auto-populate from profile if available). • Submit the request: • App compiles all details (serial, image, description, contacts) into an email. • Send this email automatically to service@ezzivision • App marks the request as “Pending” in the customer’s view. 3. Manual Handling and Update: • Service team receives the email and handles the service manually (outside the app). • After service completion: • Operations staff logs into the app. • Finds the pump record (via serial number search). • Updates the record: Add service notes, reset “last serviced” date to current date. • This resets the 1-year timer. 4. Service Scheduling: • Upon update, app schedules an email notification to the customer’s email exactly 1 year later for the next service. Customer: Enter Email → Receive OTP → Verify & Login → Add Pump (Serial, Image, Details, Contacts) → Submit Request → App Sends Email to service@ezzivision → Mark as Pending Service Team: Handles Manually Staff: Login → Search Pump by Serial → Update Record (Service Notes + Reset Date) → Schedule 1-Year Email Reminder → Done