A straightforward walkthrough of the RentalRepairs application showing the basic maintenance request lifecycle.
This guide demonstrates the essential workflow that every maintenance management system needs:
- Tenant creates a maintenance request
- Superintendent reviews and assigns a worker
- Worker completes the work
- Superintendent closes the request
👤 Tenant: tenant1.unit101@sunset.com / Demo123!
🏢 Superintendent: super.johnson@sunset.com / Demo123!
🔧 Worker: plumber.smith@workers.com / Demo123!
Tenant logs in using their credentials
Clean dashboard showing current requests and option to create new one
Simple form for submitting maintenance request
Form Fields:
- Issue Title: "Leaky Kitchen Faucet"
- Description: "Kitchen faucet is dripping constantly, water pooling on counter"
- Urgency: Normal
- Preferred Contact Time: Morning (8AM-12PM)
Confirmation page showing request was created successfully
What Happens:
- ✅ Request gets unique ID:
SUNSET-101-0001 - ✅ Status:
Submitted - ✅ Notification sent to superintendent
- ✅ Tenant can track progress
Superintendent logs in to management portal
Dashboard showing pending requests requiring assignment
Key Information:
- 🔔 1 New Request requiring attention
- 📊 Property overview with occupancy stats
- 📋 Recent activity summary
Detailed view of the tenant's request
Request Information:
- Property: Sunset Apartments
- Unit: 101
- Tenant: John Doe
- Issue: Leaky Kitchen Faucet
- Submitted: Today 9:15 AM
- Urgency: Normal
Interface for selecting and assigning worker
Assignment Details:
- Worker Selected: Mike Smith (Plumber)
- Specialization Match: ✅ Plumbing
- Availability: ✅ Available tomorrow
- Scheduled Date: Tomorrow 10:00 AM
- Work Order: WO-2024-0156
Confirmation that worker has been assigned
What Happens:
- ✅ Request status:
Scheduled - ✅ Worker gets notification
- ✅ Tenant gets update with worker info and schedule
Worker logs in to their work management portal
Dashboard showing assigned work orders
Today's Schedule:
- 🕙 10:00 AM - Sunset Apartments, Unit 101
- 🔧 Work Order: WO-2024-0156
- 🚰 Issue: Leaky Kitchen Faucet
Detailed work instructions and tenant information
Work Details:
- Location: Sunset Apartments, Unit 101
- Contact: John Doe - (555) 123-4567
- Issue Description: Kitchen faucet dripping constantly
Form for reporting work completion
Completion Details:
- Work Status: ✅ Completed Successfully
- Work Notes: "Replaced worn O-ring in kitchen faucet. Tested - no more drips. Tenant confirmed repair."
Confirmation that work has been marked complete
What Happens:
- ✅ Request status:
Done - ✅ Superintendent gets completion notification
- ✅ Tenant gets notification work is complete
Superintendent reviews the completed work report
Work Summary:
- Worker: Mike Smith
- Status: Completed Successfully
- Tenant Satisfaction: Confirmed repair working
Final closure of the maintenance request
Closure Details:
- Closure Notes: "Plumbing repair completed successfully. Tenant satisfied with work quality."
- Final Status: ✅ Closed
Final confirmation that request lifecycle is complete
What Happens:
- ✅ Request status:
Closed - ✅ Final notifications sent to all parties
- ✅ Performance metrics updated
- ✅ Request archived for reporting
Tenant sees completed request in their history
Superintendent dashboard updated with completed request metrics
Worker sees completed job added to their performance record
- ✅ Complete Request Lifecycle: From creation to closure
- ✅ Role-Based Access: Each user sees relevant information
- ✅ Status Tracking: Real-time updates throughout process
- ✅ Communication Flow: Automated notifications at each step
- ✅ Clean Architecture: Separation of concerns across layers
- ✅ Domain-Driven Design: Rich business logic in entities
- ✅ CQRS Pattern: Separate read/write operations
- ✅ Event-Driven: Notifications triggered by domain events
- ✅ Worker Specialization: Plumber assigned to plumbing issue
- ✅ Availability Checking: Worker schedule verified before assignment
This simple workflow demonstrates:
- User Experience: Clean, role-appropriate interfaces for each user type
- Business Logic: Smart worker assignment based on skills and availability
- Process Management: Complete audit trail from request to closure
- Technical Excellence: Modern .NET architecture with proper separation of concerns
The application successfully handles the core maintenance management workflow while demonstrating advanced software architecture patterns and clean code principles.
- Clone Repository:
git clone https://github.com/akhmelevtsov/RentalRepairs.CleanArchitecture - Run Application:
dotnet run --project src/WebUI/ - Open Browser:
https://localhost:7001 - Follow Workflow: Use the credentials above to walk through each step
Total Time: ~10 minutes to complete full workflow