With openList.co you could have your own ad classified website set up in minutes. It comes with minimalistic Cragislist.org-like theme which provides unobstructive UI/UX.
- Project website is at openList.co, alternatively you could download Zip package or clone/fork GitHub repository.
- Custom fields for ad categories like real estate, for sale etc.
- Email verification and ad manager for deletion/editing
- Ad flagging ie spam, like, violation, etc
- Minimalistic design and use of templates ease customization
- HTML filter, Captcha and WYSIWYG editor
- clean URLs
- photo upload
- nested categories
PHP5 or higher with GD support for Captcha, MySQL, access to .htaccess file.
Start your favorite local web server (e.g. MAMP) and MySQL database. Point localhost to your folder or change class/config.php file with a new host name, aka SITE_URL, more info below.
Modify class/systemconsts.class.php file with your database parameters. By default they’re:
const DB='test', HOST='localhost', DSN='mysql:dbname=test;host=localhost', USERNAME='root', PASSWORD='root';
OPTIONAL: modify class/config.php file such parameters as language (English or Russian), numbers of ads/posts per page, number of days after which ad/post will expire, photo size limit, website URL, path to templates, etc.
Run install.php by going to SITE_URL/install.php or localhost/install.php.
View application at localhost or your custom host name (it will be pre-populated with data).
- class/config.php – global constants.
- class/systemconsts.class.php – database parameters.
- install.php – initial data, e.g. cities, categories, custom fields, etc.
- tpl/*.tpl.php – Savant3 templates (basically just PHP), aka “view” in MVC architecture.
- class/model.class.php – “model” layer of MVC architecture, it uses PDO library.
- class/service.class.php – business logic layer.
- index.php and htaccess – “controller” layer of MVC architecture.
To change cities, categories and other data just modify SQL statements in install.php or edit your database with phpMyAdmin.
Those dependencies are already included in the package/repository. You could use newer version at your own risk.