Please check the official laravel installation guide for server requirements before you start. Official Documentation
Laravel 8 requires PHP 7.3+ or above so you need this version or the latest version of PHP installed on your system.
Clone the repository
git clone https://github.com/LukaBis/real-estate-site.git
Switch to the repo folder
cd real-estate-site
Install all the dependencies using composer
composer install
Copy the example env file and make the required configuration changes in the .env file
Linux
cp .env.example .env
Windows
copy .env.example .env
Generate a new application key
php artisan key:generate
Run the database migrations (Set the database connection in .env before migrating)
php artisan migrate
Run the database seeder
php artisan db:seed
Create the symbolic link
php artisan storage:link
Check images folder that is inside inside public. Delete images folder if there are no images (image files) in sub-folders of images folder. Then create new, empty images folder. and run:
php artisan storage:link
Start the local development server
php artisan serve
You can now access the server at http://localhost:8000
This is a website for real estate agency. It could be used to display multiple real estate properties, testimonials, real estate agents, contact info, about page etc.
It has support for two languages: English and Croatian.
This website also has a CMS system. So admin can log-in and change the content of the site. Using CMS admin can add/edit/delete properties, agents, testimonials and contact information.
Here is a link to DEMO. Unfortunately, you can't access CMS on live demo because anyone could potentially change something on the website and add something inappropriate. If you want to see CMS you will have to install project locally.
On home page, you can see property images in carousel, services that agency provides, few properties, agents and testimonials. There are separate pages for list of all properties and agents.
You also have an option to filter all properties based on multiple factors like: number of beds, city, price etc. (If you try to filter this results on the demo I recommend to choose maximum of 2 options because if you choose more options you will probably get no results since there are only 10 properties in the database)
I used Laravel framework to build this website. I also used HTML, CSS, jQuery, Bootstrap. Laravel translatable package was used to make site support multiple languages.
This section has two parts. First part explains how to use the website (this part will be shot because most things are self explanatory) and the second part explains how to use the CMS.
In this section I will only mention how to use filter functionality and relation between agents and properties. Other things on the website are obvious and not worth explaining.
Filter properties. When you go to see list of all properties by clicking on the property link in navigation bar, you will see 6 properties on each page. Above those images you will see an option to select All, Active or Sold.
Each property can have one of two statuses: active or sold. If you click Active, only active properties will be shown. In case you click Sold, only sold properties will be shown. Otherwise you will see all properties.
If you click on search icon in navigation bar you will see a search form. It enables you to search properties based on multiple conditions.
Connection between agents and properties. Each agent is responsible for multiple properties(in some cases its 3 properties, sometimes just one, sometimes none).
When you click on agent and you see all data about to that agent, at the bottom of the page you will see all properties that belong to that agent.
When you click on property and see all data about some property, at the bottom of the page you will see agent that is responsible for that property.
CMS is used by the admin of the site. He/she can change contact information, content of the about-page. CMS also allows you to add, edit or delete properties, agents and testimonials.
If you cloned the project to your local machine and you want to use CMS, password is 123456789 and email is admin@email.com . You can access CMS by going to /login route or just click Admin link in the footer.
The way you work with property data is very similar to the way you would manipulate agent data, testimonial data, contact data etc. So I will only breakdown how to add/edit/delete properties and the rest is very similar.
So when you click on properties, you will see a table of properties and property data. Last column contains a link to a page that displays single property. It looks like this
This page allows you to see and modify some property data. You can change street name, number of beds, property's agent, property's status (active/sold). You can also change property's amenities etc.
Each property has one vertical image. Vertical image is displayed on property-grid (list of all properties). Property has only one vertical image, but multiple horizontal images that are displayed in carousel.
CMS allows you to change vertical image. It also allows you to delete or add horizontal images. Each image file upload has recommended image sizes:
If you want to add new property, you have to click on Add Property and fill the form. You also have to add images of that property and then click "Save property".
Licensed under the MIT License