RentDito
RentDito is a role-based rental operations platform that connects property discovery, tenant onboarding, contract management, and day-to-day property administration in one system. It streamlines the full leasing lifecycle for tenants, landlords, staff, and super admins while keeping billing, maintenance, and occupancy data in sync.
Core Objectives
Public Discovery & Authentication
Marketing Landing
The landing page introduces the platform, highlights the rental experience, and routes authenticated users to the correct dashboard based on role.
Listings Browser
Public listing pages let visitors browse properties and drill into property or unit details before signing in.
Account Access
Login, register, forgot-password, and reset-password pages cover the full entry and recovery flow.
Theme Toggle
The public shell includes a light/dark mode switch for a more polished browsing experience.
Landlord & Staff Hub
Property & Unit CRUD
Landlords and staff can create, edit, list, and inspect properties and units through protected hub routes.
Tenant Detail & Checkout
The tenant detail page consolidates personal details, unit assignment, contract summary, and a checkout initiation dialog.
Billing & Financial Control
Bills, bill details, payment recording, utilities, and the financial dashboard keep rent collection visible and organized.
Operations Modules
Documents, inventory, tickets, transfers, security, team management, and reports are all exposed as separate operational screens.
Occupancy Overview
The hub dashboard summarizes total, active, vacant, and occupied units to give a quick operational snapshot.
Tenant Self-Service
Inquiry Conversation
Regular users can track inquiries and continue message threads as they move through the rental pipeline.
Visit & Application Tracking
My Visits and My Applications provide personal status tracking for property viewings and rental applications.
Contract Viewing
Tenants can open and review active contracts from their own dashboard without needing staff intervention.
Account Transition
Verify Account and Become Landlord flows support identity verification and account upgrades for eligible users.
Architecture & Processing Flow
1. A user opens a role-specific screen or submits an action from a form, table, or dialog.
2. The corresponding React hook gathers state and calls a dedicated service in the application/infrastructure layer.
3. The shared Axios client attaches the access token, retries through the refresh-token queue on 401 responses, and normalizes errors.
4. The Express backend authenticates the request, validates payloads, and forwards the action to the relevant controller.
5. Controllers create, update, or fetch linked MongoDB documents such as Property, Unit, Contract, Tenancy, Bill, Payment, or Ticket.
6. The response returns to the client, services map Mongo _id values to id, local state updates, and the UI rerenders with the new tenancy or operational status.
The frontend is built as a layered architecture: presentation pages sit on top of application hooks, which depend on infrastructure services, which in turn communicate through a shared API client. That separation keeps data fetching, mapping, and UI rendering cleanly isolated, while ProtectedRoute and permission checks ensure the correct role sees the correct workspace.
On the backend, the data model is intentionally relational for MongoDB: records reference each other through ObjectIds, and lifecycle states are encoded with enums for contracts, tenancies, bills, payments, and tickets. A few smart schema choices stand out, including persisted property occupancy metrics, efficient query indexes, and a partial unique index on auto-generated bills to prevent duplicate charges for the same tenancy and billing period.
Project Impact
RentDito radically modernizes the lifecycle of property management by replacing fragmented spreadsheets, emails, and disconnected billing isolated systems with a unified, role-based ecosystem. From public listings and tenant onboarding to staff maintenance and checkout, it binds the entire tenancy pipeline into one highly visible platform.
For landlords and administrative staff, the application acts as an operational command center. By deeply coupling MongoDB relational schemas to handle automated bills, transaction metrics, and unit occupancy states, it ensures that property operations run with complete financial transparency and logistical certainty.
Ultimately, RentDito restores trust and simplicity between renters and administrators. By placing interactive dashboards, conversational ticketing, and cryptographic JWT sessions at the fingertips of all actors, it sets a powerful standard for efficiency, security, and communication in digital-first real estate operations.