Skip to content

A comprehensive web-based rental property management system built with PHP and MySQL. This system helps landlords manage properties, tenants, leases, payments, and maintenance requests efficiently.

Notifications You must be signed in to change notification settings

luke8089/Delight-Rental-

Repository files navigation

🏢 Delight Rental Management System

A comprehensive web-based rental property management system built with PHP and MySQL. This system helps landlords manage properties, tenants, leases, payments, and maintenance requests efficiently.

📋 Features

For Landlords

  • Property Management: Add, edit, and delete rental properties
  • Tenant Management: Manage tenant information and lease agreements
  • Payment Tracking: Monitor rent payments and payment history
  • Maintenance Requests: Handle tenant maintenance requests
  • Service Bookings: Manage property services and bookings
  • Apartment Tour Scheduling: Schedule and manage property tours
  • Email Notifications: Automated emails for welcome messages, payment receipts, and lease agreements
  • Due Rent Reminders: Automated email reminders for overdue rent

For Tenants

  • Dashboard: View lease information and payment status
  • Payment History: Track all rent payments
  • Maintenance Requests: Submit and track maintenance requests
  • Service Bookings: Book property services
  • Messaging: Communicate with landlords
  • Profile Management: Update personal information

For Users (Visitors)

  • Browse Apartments: View available properties
  • Apartment Details: See detailed information about properties
  • Contact System: Send inquiries to property managers
  • About Page: Learn more about Delight Apartments

Admin Panel

  • Dashboard: Overview of system statistics
  • Property Management: Approve and manage properties
  • Tenant Management: View and manage all tenants
  • Maintenance Oversight: Monitor all maintenance requests
  • Messaging: Communicate with users

🛠️ Technologies Used

  • Backend: PHP 7.4+
  • Database: MySQL
  • Frontend: HTML5, CSS3, JavaScript
  • Email: PHPMailer for SMTP email functionality
  • Server: Apache (XAMPP recommended for local development)

📦 Installation

Prerequisites

  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • Apache Web Server
  • XAMPP (recommended) or LAMP/WAMP stack

Step 1: Clone the Repository

git clone https://github.com/luke8089/Delight-Rental.git
cd Delight-Rental

Step 2: Database Setup

  1. Start your MySQL server
  2. Create a new database named delight:
    CREATE DATABASE delight;
  3. Import the database schema:
    mysql -u root -p delight < database/schema.sql

Step 3: Configure Database Connection

  1. Copy the example configuration file:
    cp connect.php.example connect.php
  2. Edit connect.php and update your database credentials:
    $host = "localhost";
    $user = "your_database_username";
    $pass = "your_database_password";
    $db = "delight";

Step 4: Configure Email Settings

  1. Copy the example mailer configuration:

    cp mailer_config.php.example mailer_config.php
  2. Edit mailer_config.php and update with your SMTP credentials:

    $mail->Username = 'your_email@gmail.com';
    $mail->Password = 'your_app_password';
    $mail->setFrom('your_email@gmail.com', 'Delight Apartments');

    Note: For Gmail, you need to:

    • Enable 2-factor authentication
    • Generate an App Password from your Google Account settings
    • Use the App Password instead of your regular password

Step 5: Set Up File Permissions

Ensure the uploads/ directory is writable:

chmod -R 755 uploads/

Step 6: Start the Application

  1. If using XAMPP, place the project folder in htdocs/
  2. Start Apache and MySQL from the XAMPP control panel
  3. Access the application at: http://localhost/Delight/

📁 Project Structure

Delight/
├── admin/              # Admin panel files
├── components/         # Reusable components
├── database/          # Database schema and migrations
├── includes/          # Include files and guards
├── landlord/          # Landlord-specific functionality
├── tenant/            # Tenant dashboard and features
├── user/              # Public-facing pages
├── PHPMailer/         # Email library
├── uploads/           # User uploaded files
├── connect.php        # Database connection (gitignored)
├── mailer_config.php  # Email configuration (gitignored)
└── index.php          # Application entry point

🔐 Security Notes

  • Database credentials and SMTP passwords are excluded from version control
  • Always use .example files as templates for configuration
  • Never commit connect.php or mailer_config.php with real credentials
  • Change default passwords after installation
  • Implement SSL/TLS for production deployments

🚀 Usage

Default Login Credentials

After importing the database, you may need to create admin/landlord accounts manually or through the registration system.

Creating a Landlord Account

  1. Navigate to the registration page
  2. Fill in the required information
  3. Select "Landlord" as the user type

Adding Properties

  1. Log in as a landlord
  2. Navigate to "Properties" section
  3. Click "Add Property" and fill in the details

Adding Tenants

  1. Go to the landlord dashboard
  2. Select "Tenants" > "Add Tenant"
  3. Fill in tenant details and assign a property

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is open-source and available for educational and commercial use.

📧 Contact

For questions or support, please contact:

🙏 Acknowledgments

  • PHPMailer library for email functionality
  • Bootstrap (if used) for responsive design
  • The open-source community for various tools and libraries

Note: This is a development project. For production use, implement additional security measures, input validation, and error handling.

About

A comprehensive web-based rental property management system built with PHP and MySQL. This system helps landlords manage properties, tenants, leases, payments, and maintenance requests efficiently.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published