327 lines
8.1 KiB
Markdown
327 lines
8.1 KiB
Markdown
|
|
# HarborSmith Client Portal - Implementation Guide
|
||
|
|
|
||
|
|
## Completed Components
|
||
|
|
|
||
|
|
### ✅ Core Infrastructure
|
||
|
|
1. **portal-styles.css** - Complete CSS framework for the portal
|
||
|
|
- Dashboard layouts and cards
|
||
|
|
- Form styles and validation states
|
||
|
|
- Tables and data displays
|
||
|
|
- Status badges and indicators
|
||
|
|
- Responsive design breakpoints
|
||
|
|
- Theme support (4 themes)
|
||
|
|
|
||
|
|
2. **portal-login.html** - Unified login page
|
||
|
|
- Role selection (Maintenance/Charter)
|
||
|
|
- OAuth integration placeholders
|
||
|
|
- Demo credentials system
|
||
|
|
- Video background with brand messaging
|
||
|
|
|
||
|
|
3. **maintenance-dashboard.html** - Main maintenance dashboard
|
||
|
|
- Fleet overview with health scores
|
||
|
|
- Upcoming services calendar
|
||
|
|
- Invoice status tracking
|
||
|
|
- Recent activity timeline
|
||
|
|
- Quick action buttons
|
||
|
|
|
||
|
|
4. **maintenance-vessels.html** - Vessel management page
|
||
|
|
- Grid view of registered vessels
|
||
|
|
- Add new vessel modal
|
||
|
|
- Health score visualization
|
||
|
|
- Quick schedule buttons
|
||
|
|
|
||
|
|
## Remaining Pages to Implement
|
||
|
|
|
||
|
|
### Maintenance Portal Pages
|
||
|
|
|
||
|
|
#### 1. **maintenance-schedule.html**
|
||
|
|
**Features:**
|
||
|
|
- Interactive calendar view (monthly/weekly/daily)
|
||
|
|
- Service type selector dropdown
|
||
|
|
- Available time slots display
|
||
|
|
- Vessel selection with current status
|
||
|
|
- Service urgency levels (Emergency/Urgent/Routine)
|
||
|
|
- Preferred technician selection
|
||
|
|
- Special instructions text area
|
||
|
|
- Confirmation and reminder settings
|
||
|
|
|
||
|
|
#### 2. **maintenance-documents.html**
|
||
|
|
**Features:**
|
||
|
|
- Document categories sidebar
|
||
|
|
- Registration documents
|
||
|
|
- Insurance policies
|
||
|
|
- Service warranties
|
||
|
|
- Safety certificates
|
||
|
|
- Owner manuals
|
||
|
|
- Drag-and-drop upload zone
|
||
|
|
- Document preview modal
|
||
|
|
- Expiry date tracking with alerts
|
||
|
|
- Search and filter functionality
|
||
|
|
- Bulk download option
|
||
|
|
- Document sharing controls
|
||
|
|
|
||
|
|
#### 3. **maintenance-reports.html**
|
||
|
|
**Features:**
|
||
|
|
- Filterable report list (by date, vessel, service type)
|
||
|
|
- Detailed report viewer with sections:
|
||
|
|
- Service summary
|
||
|
|
- Parts replaced
|
||
|
|
- Labor performed
|
||
|
|
- Before/after photos
|
||
|
|
- Technician recommendations
|
||
|
|
- Next service suggestions
|
||
|
|
- Comment/note addition
|
||
|
|
- PDF export functionality
|
||
|
|
- Service rating and feedback
|
||
|
|
|
||
|
|
#### 4. **maintenance-invoices.html**
|
||
|
|
**Features:**
|
||
|
|
- Invoice list with status filters (Paid/Pending/Overdue)
|
||
|
|
- Detailed invoice view with line items
|
||
|
|
- Payment method selection
|
||
|
|
- Credit card form
|
||
|
|
- ACH transfer details
|
||
|
|
- Wire instructions
|
||
|
|
- Payment history table
|
||
|
|
- Auto-pay configuration
|
||
|
|
- Dispute/question form
|
||
|
|
- Download receipts
|
||
|
|
|
||
|
|
### Charter Portal Pages
|
||
|
|
|
||
|
|
#### 5. **charter-dashboard.html**
|
||
|
|
**Features:**
|
||
|
|
- Current charter countdown timer
|
||
|
|
- Weather widget for charter date
|
||
|
|
- Itinerary preview card
|
||
|
|
- Guest list summary
|
||
|
|
- Payment status indicator
|
||
|
|
- Recommended add-ons carousel
|
||
|
|
- Recent messages from crew
|
||
|
|
- Pre-charter checklist
|
||
|
|
|
||
|
|
#### 6. **charter-packages.html**
|
||
|
|
**Features:**
|
||
|
|
- Current package details card
|
||
|
|
- Available upgrades grid:
|
||
|
|
- Gourmet catering tiers
|
||
|
|
- Water sports equipment
|
||
|
|
- Photography/videography
|
||
|
|
- Special occasion decorations
|
||
|
|
- Extended hours
|
||
|
|
- Additional crew
|
||
|
|
- Package comparison table
|
||
|
|
- Pricing calculator with real-time updates
|
||
|
|
- Save package as template
|
||
|
|
|
||
|
|
#### 7. **charter-itinerary.html**
|
||
|
|
**Features:**
|
||
|
|
- Interactive map with waypoints
|
||
|
|
- Draggable timeline editor
|
||
|
|
- Activity cards:
|
||
|
|
- Departure/arrival times
|
||
|
|
- Anchor locations
|
||
|
|
- Meal times
|
||
|
|
- Activity slots
|
||
|
|
- Sunset viewing spots
|
||
|
|
- Weather overlay on timeline
|
||
|
|
- Share itinerary via email/link
|
||
|
|
- Print-friendly version
|
||
|
|
- Captain's notes section
|
||
|
|
|
||
|
|
#### 8. **charter-payments.html**
|
||
|
|
**Features:**
|
||
|
|
- Payment summary breakdown:
|
||
|
|
- Base charter fee
|
||
|
|
- Add-ons and upgrades
|
||
|
|
- Additional guests
|
||
|
|
- Taxes and fees
|
||
|
|
- Gratuity calculator
|
||
|
|
- Guest addition form ($150/guest)
|
||
|
|
- Payment schedule display
|
||
|
|
- Saved payment methods
|
||
|
|
- Transaction history
|
||
|
|
- Refund policy accordion
|
||
|
|
- Split payment option
|
||
|
|
|
||
|
|
#### 9. **charter-documents.html**
|
||
|
|
**Features:**
|
||
|
|
- Required documents checklist:
|
||
|
|
- Photo IDs for all guests
|
||
|
|
- Signed waivers
|
||
|
|
- Insurance proof
|
||
|
|
- Medical/dietary forms
|
||
|
|
- Emergency contacts
|
||
|
|
- Upload progress tracker
|
||
|
|
- Document status badges
|
||
|
|
- Secure preview modal
|
||
|
|
- Download all as ZIP
|
||
|
|
- Missing document alerts
|
||
|
|
|
||
|
|
#### 10. **charter-profile.html**
|
||
|
|
**Features:**
|
||
|
|
- Personal information form
|
||
|
|
- Emergency contacts (primary/secondary)
|
||
|
|
- Preferences section:
|
||
|
|
- Dietary restrictions
|
||
|
|
- Allergies
|
||
|
|
- Music preferences
|
||
|
|
- Beverage selections
|
||
|
|
- Activity interests
|
||
|
|
- Previous charters gallery
|
||
|
|
- Favorite vessels
|
||
|
|
- Saved itineraries
|
||
|
|
- Communication preferences
|
||
|
|
- Photo memories timeline
|
||
|
|
|
||
|
|
## Implementation Details
|
||
|
|
|
||
|
|
### Navigation Structure
|
||
|
|
All pages share consistent sidebar navigation with:
|
||
|
|
- Collapsible sidebar toggle
|
||
|
|
- Active state highlighting
|
||
|
|
- Role-based menu items
|
||
|
|
- User profile dropdown
|
||
|
|
- Notification badge
|
||
|
|
|
||
|
|
### Common Components
|
||
|
|
- **Header**: Breadcrumb navigation, search, notifications, user menu
|
||
|
|
- **Cards**: Consistent shadow, hover effects, border radius
|
||
|
|
- **Forms**: Validation states, required field indicators, help text
|
||
|
|
- **Modals**: Overlay, close button, responsive sizing
|
||
|
|
- **Tables**: Sortable headers, hover states, responsive scroll
|
||
|
|
|
||
|
|
### Interactive Features
|
||
|
|
1. **Form Validation**
|
||
|
|
- Real-time field validation
|
||
|
|
- Error message display
|
||
|
|
- Success confirmation toasts
|
||
|
|
|
||
|
|
2. **Data Tables**
|
||
|
|
- Column sorting
|
||
|
|
- Pagination
|
||
|
|
- Search/filter
|
||
|
|
- Export options
|
||
|
|
|
||
|
|
3. **File Uploads**
|
||
|
|
- Drag-and-drop zones
|
||
|
|
- Progress indicators
|
||
|
|
- File type validation
|
||
|
|
- Preview generation
|
||
|
|
|
||
|
|
4. **Calendar Integration**
|
||
|
|
- Date picker widgets
|
||
|
|
- Time slot selection
|
||
|
|
- Availability checking
|
||
|
|
- Reminder settings
|
||
|
|
|
||
|
|
### Mock Data Structure
|
||
|
|
```javascript
|
||
|
|
// Sample user data
|
||
|
|
const maintenanceUser = {
|
||
|
|
name: "John Smith",
|
||
|
|
email: "maintenance@demo.com",
|
||
|
|
role: "maintenance",
|
||
|
|
vessels: [
|
||
|
|
{
|
||
|
|
id: 1,
|
||
|
|
name: "Sea Breeze",
|
||
|
|
type: "Sailboat",
|
||
|
|
model: "Beneteau Oceanis 45",
|
||
|
|
year: 2019,
|
||
|
|
healthScore: 95,
|
||
|
|
lastService: "2024-11-10",
|
||
|
|
nextService: "2024-12-15"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
invoices: [
|
||
|
|
{
|
||
|
|
id: "INV-1247",
|
||
|
|
amount: 2850,
|
||
|
|
status: "paid",
|
||
|
|
date: "2024-11-15"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
};
|
||
|
|
|
||
|
|
const charterUser = {
|
||
|
|
name: "Sarah Johnson",
|
||
|
|
email: "charter@demo.com",
|
||
|
|
role: "charter",
|
||
|
|
currentBooking: {
|
||
|
|
vessel: "Bay Dreamer",
|
||
|
|
date: "2024-12-20",
|
||
|
|
duration: "4 hours",
|
||
|
|
guests: 8,
|
||
|
|
package: "Premium Sunset"
|
||
|
|
}
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
### Responsive Breakpoints
|
||
|
|
- **Mobile**: < 768px (stacked layout, hidden sidebar)
|
||
|
|
- **Tablet**: 768px - 1024px (condensed sidebar, 2-column grids)
|
||
|
|
- **Desktop**: > 1024px (full sidebar, multi-column layouts)
|
||
|
|
|
||
|
|
### Security Considerations
|
||
|
|
- Session management with localStorage
|
||
|
|
- Secure document handling
|
||
|
|
- Input sanitization
|
||
|
|
- HTTPS enforcement (production)
|
||
|
|
- Two-factor authentication ready
|
||
|
|
|
||
|
|
### Performance Optimizations
|
||
|
|
- Lazy loading for images
|
||
|
|
- Pagination for large datasets
|
||
|
|
- Debounced search inputs
|
||
|
|
- Skeleton loaders for async content
|
||
|
|
- Minified CSS/JS (production)
|
||
|
|
|
||
|
|
## Next Steps for Full Implementation
|
||
|
|
|
||
|
|
1. **Backend Integration**
|
||
|
|
- API endpoints for CRUD operations
|
||
|
|
- Authentication system
|
||
|
|
- File upload handling
|
||
|
|
- Payment processing
|
||
|
|
- Email notifications
|
||
|
|
|
||
|
|
2. **Database Schema**
|
||
|
|
- Users table with roles
|
||
|
|
- Vessels table with specifications
|
||
|
|
- Services table with scheduling
|
||
|
|
- Documents table with metadata
|
||
|
|
- Invoices table with line items
|
||
|
|
|
||
|
|
3. **Third-Party Integrations**
|
||
|
|
- Stripe/PayPal for payments
|
||
|
|
- SendGrid for emails
|
||
|
|
- AWS S3 for document storage
|
||
|
|
- Google Calendar API
|
||
|
|
- Weather API
|
||
|
|
|
||
|
|
4. **Testing Requirements**
|
||
|
|
- Unit tests for form validation
|
||
|
|
- Integration tests for workflows
|
||
|
|
- Accessibility testing (WCAG 2.1)
|
||
|
|
- Cross-browser compatibility
|
||
|
|
- Performance benchmarks
|
||
|
|
|
||
|
|
5. **Deployment Considerations**
|
||
|
|
- SSL certificates
|
||
|
|
- CDN for static assets
|
||
|
|
- Database backups
|
||
|
|
- Monitoring and logging
|
||
|
|
- Support ticket system
|
||
|
|
|
||
|
|
## Design Consistency Notes
|
||
|
|
|
||
|
|
All pages maintain:
|
||
|
|
- Warm, inviting color palette from main site
|
||
|
|
- Inter + Playfair Display typography
|
||
|
|
- Consistent spacing using CSS variables
|
||
|
|
- Smooth transitions and hover effects
|
||
|
|
- Professional yet approachable tone
|
||
|
|
- Mobile-first responsive design
|
||
|
|
|
||
|
|
This comprehensive portal system provides a complete solution for both maintenance and charter clients while maintaining the HarborSmith brand identity and user experience standards.
|