Overview
Property management features include:- Create new property listings
- Edit existing properties
- Rich property details form
- Multi-image upload with drag-and-drop ordering
- Image rotation and main image selection
- Interactive map for location selection
- Address autocomplete
- Property status management
- YouTube video integration
- Custom characteristics and tags
PropertyFormPage Component
The main form for creating and editing properties. Location:src/pages/PropertyFormPage.tsx
Form Structure
- Basic Information
- Pricing
- Property Details
- Features
Image Management
Robust image upload and management system with drag-and-drop ordering.Upload Images
Location Management
Interactive map and address autocomplete for precise property location.Address Autocomplete
Address Autocomplete
Interactive Map
Draggable Map Pin
Form Submission
Handle property creation and updates with multipart form data.Form Validation
Validate required fields before submission.Form Validation
Metadata Loading
Load property types, operation types, and other metadata for dropdowns.Load Metadata
Property Subtypes
Dynamic subtype loading based on selected property type.Dynamic Subtypes
Best Practices
Image Optimization
Image Optimization
- Validate file sizes (max 20MB per image)
- Limit number of images (20 max)
- Compress images before upload
- Use WebP format when possible
- Generate thumbnails on backend
Form UX
Form UX
- Show loading states during submission
- Provide clear error messages
- Auto-save drafts periodically
- Preserve form data on navigation
- Use optimistic UI updates
Validation
Validation
- Validate on blur and submit
- Clear errors as user types
- Highlight invalid fields
- Provide helpful validation messages
- Prevent duplicate submissions
Performance
Performance
- Lazy load metadata
- Debounce address autocomplete
- Use virtualized lists for large datasets
- Optimize image previews
- Cache metadata locally
Related Features
Property Listings
View and browse created properties
User Authentication
Admin authentication required