Web Rent Tracking App

Rent Tracking Web Application Documentation
Overview
The Rent Tracking Web Application is designed to assist apartment owners in managing their rental properties effectively. It provides tools to track rent payments, manage tenants, monitor apartment statuses, and generate financial reports. This application is built using Symfony 7 and includes a dynamic, user-friendly interface to ensure ease of use for property owners.
Features
1. Tenant Management
Add, Edit, and Remove Tenants: The application allows the owner to manage tenant details, including their name, contact information, and rent agreement specifics.
Apartment Assignment: Each tenant is associated with a single apartment, ensuring one-to-one mapping between tenants and apartments.
2. Apartment Management
Status Tracking: Apartments have three statuses:
Occupied
,Vacant
, andUnder Maintenance
. The application ensures that:Only one tenant can occupy an apartment at a time.
Status updates reflect the current state of the apartment.
Dynamic Assignment: Apartment statuses automatically update based on tenant changes or edits to their details.
3. Rent Agreements
Details Included: Assign a rent agreement to tenants with the following details:
Rent start and end dates
Tenant assignment to an apartment or shop
Monthly rent amount
Security deposit paid
4. Rent Collection
Payment Tracking: Record and monitor rent payments for tenants.
Dynamic Reporting: Summarize rent collected over specific time periods with filtering options for tenant, date, and payment status.
Expense Integration: Track expenses related to apartment maintenance or other property costs, which can be dynamically categorized and managed.
Automated Rent Payment Generation: Rent payments are automatically generated every month using a Symfony command, eliminating the need for manual creation. Users can update the payment status as "Paid" using a simple radio button switch and select the payment type.
5. Maintenance Requests
Request Tracking: Owners can log and track maintenance requests for apartments or shops.
Status Management: Assign statuses to requests such as
Pending
,In Progress
, orCompleted
.
6. Employee Management
Add, Edit, and Remove Employees: Manage employee details for maintenance or administrative purposes.
Expense Tracking by Employee: Generate expense reports specific to individual employees.
7. Financial Reporting
Customizable Reports: Generate financial reports based on selected criteria:
Date range
Tenant-specific data
Payment status (Paid, Late, Pending)
Expense types
Dynamic Calculations: Calculate total rent collected and total expenses over any given period.
Profit Reporting: Generate reports to calculate profits by comparing total income and expenses.
PDF Export: Generate PDF versions of financial, expense, and profit reports for easy sharing and record-keeping.
Sorting and Filtering: Sort data in ascending/descending order by date for easier review.
8. Expense Tracking
Dynamic Expense Types: The owner can add or remove expense types as needed to accommodate varying costs.
Reporting Integration: Expense data integrates with financial reports for a complete overview of property finances.
Reports by Apartment or Employee: Generate detailed expense reports filtered by apartments or employees.
Technical Details
1. Backend
Framework: Symfony 7
Database: PostgreSQL
ORM: Doctrine
Entities:
Tenant
Apartment
RentPayment
ExpenseTracking
RentAgreement
Employee
Enum Usage:
Apartment statuses are implemented using Symfony Enums.
2. Frontend
Template Engine: Twig
AdminLTE: Used for the admin interface, providing a modern and responsive design.
Reusable Templates: Twig templates are dynamically configurable to reduce redundancy:
Index page templates with configurable variables such as
page_title
,new_route
,table_headers
,items
, etc.Reusable form components for delete confirmation and dynamic field handling.
3. Reports and Queries
Query Builder: Custom Doctrine queries for dynamic filtering and aggregation.
Sorting: Reports and data views support ascending/descending order sorting by date or other fields.
Error Handling: Prevents invalid query results by using fallback defaults and exception management.
Key Functionalities
Tenant Form
Includes fields for tenant details and apartment assignment.
Validation ensures required fields are completed.
Apartment dropdown dynamically displays available apartments.
Financial Reports
Input fields for:
Date range (
from
andto
)Status (
Paid
,Late
,Pending
, orAll
)Expense type and tenant filters
Outputs:
Total rent collected
Total expenses
Filtered and sorted transaction details
Expense Form
Dynamic Fields: Users can add/remove custom expense types.
Validation: Ensures proper input of expense details.
Future Enhancements
Multi-language Support: Localize the application for use in different regions.
Tenant Notifications: Email or SMS reminders for upcoming rent payments.
Advanced Analytics: Graphical representation of financial data over time.
Mobile Optimization: Enhanced design for mobile and tablet devices.
Demo Login
123456