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.
- 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
- 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
- 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
- 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
- Backend: PHP 7.4+
- Database: MySQL
- Frontend: HTML5, CSS3, JavaScript
- Email: PHPMailer for SMTP email functionality
- Server: Apache (XAMPP recommended for local development)
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Apache Web Server
- XAMPP (recommended) or LAMP/WAMP stack
git clone https://github.com/luke8089/Delight-Rental.git
cd Delight-Rental- Start your MySQL server
- Create a new database named
delight:CREATE DATABASE delight;
- Import the database schema:
mysql -u root -p delight < database/schema.sql
- Copy the example configuration file:
cp connect.php.example connect.php
- Edit
connect.phpand update your database credentials:$host = "localhost"; $user = "your_database_username"; $pass = "your_database_password"; $db = "delight";
-
Copy the example mailer configuration:
cp mailer_config.php.example mailer_config.php
-
Edit
mailer_config.phpand 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
Ensure the uploads/ directory is writable:
chmod -R 755 uploads/- If using XAMPP, place the project folder in
htdocs/ - Start Apache and MySQL from the XAMPP control panel
- Access the application at:
http://localhost/Delight/
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
- Database credentials and SMTP passwords are excluded from version control
- Always use
.examplefiles as templates for configuration - Never commit
connect.phpormailer_config.phpwith real credentials - Change default passwords after installation
- Implement SSL/TLS for production deployments
After importing the database, you may need to create admin/landlord accounts manually or through the registration system.
- Navigate to the registration page
- Fill in the required information
- Select "Landlord" as the user type
- Log in as a landlord
- Navigate to "Properties" section
- Click "Add Property" and fill in the details
- Go to the landlord dashboard
- Select "Tenants" > "Add Tenant"
- Fill in tenant details and assign a property
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open-source and available for educational and commercial use.
For questions or support, please contact:
- Project Repository: https://github.com/luke8089/Delight-Rental
- Issues: https://github.com/luke8089/Delight-Rental/issues
- 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.