Web Rent Tracking App


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, and Under 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, or Completed.

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 and to)

    • Status (Paid, Late, Pending, or All)

    • 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

admin@gmail.com

123456

Project Link:
View Project