This web application runs on top of Laravel version 4.2 and requires the following programs to function correctly:
- PHP >= 5.4
- MCrypt PHP Extension
- ImageMagic (for resizing listing images)
To install Laravel's dependencies, you also need to have Composer (PHP package manager) installed on your server. If you don't have it yet then go to the Getting Started page and follow the installation guide.
After purchasing the app, download the zip file and unzip it to your web server root folder. Next, open command line application (Terminal on Mac o Linux or Window Command Prompt on Windows) and then change to web server root location run the following command to install Laravel:
After this step is completed, depend on what type of web server you're using, configure virtual host to serve up the application.
Configure Application Variables
Laravel allows us to put application environment variales in a
.env.php file in project folder. Since this file is ignored by Git, you need to create this file manually. This file is a normal PHP file that simply returns an array contains all application variables.
For this specific listing management application, the following variables are required:
<?php return [ 'DB_NAME' => 'listings', 'DB_USERNAME' => 'root', 'DB_PASSWORD' => 'your_pass', ];
Change values for keys in the returned array that suit your server configuration.
You can also add other variables:
GA_TRACKING_ID: Google analytics site tracking id.
SITE_TITLE: The title of your site. For page that doesn't have title this value will be used.
SITE_DESCRIPTION: The site description. For page that doesn't have description this value will be used.
Using MySQL database client (or PhpMyadmin) to access database server and create database for our application:
> create database listings;
Migrate and Seed Data
Open command line application and run the following command to migrate database:
php artisan migrate
After that run the next command to seed data to database:
php artisan db:seed
After this final step is finished, you can open the web application via a web browser!
To manage properties on the web, you will need to login to an account. An account can either has the admin role or broker role. To change role, you will need to edit the value of those fields for record on
is_admin: This marks a user as administrator.
is_broker: This marks a user as a broker.
is_featured: This allow user to appear on featured user section of the page (see the top-right section on home page and search page).
UsersTableSeeder.php file contains seeding data for all users after running seeding command.
The manage listing functionality is fairly simple and straight forward:
- To create a new listing: Login to your account, go to home page and click the
Offer propertybutton. Filling in content and hit the submit button.
- To edit/delete listing: Go to listing page, you see the
Edit | Deletelinks showing just above the listing image carousel. Note: you need to be the listing creator or admin in order to see those links and delete the listing.
Mange Banner Ads
There're two types of banner ads and each serves different purpose:
- Dynamic banner ads (with animation): This help catching up user attention for trending projects on the market.
- Static banner ads (no animation): This for other agents or brokers to advertise properties they're selling.
All banner files are placed in
app/views/ads folder and are organized in a similar folder structure with the parent view files that use them. For example, the files placed in
view/ads/home will be used by views files in
Manage Text Translation
If your site is not in English, you can easily add text translation by setting locale in
.env.php file. For example:
return [ 'locale' => 'ja' // ... ];
Then you need to duplicate the
en folder inside
app/lang/ and update text translation for each file in there.
Note: Keys that reside inside
urls.php file are used not only for translation but by application itself. If you change values for those keys you also need to update the logic parsing url, other wise the application cannot find any properties for SEO-friendly URL. Methods contain logic to parsing SEO-friendly URL are