Skip to content

immonex/kickstart-team

Repository files navigation

immonex Kickstart Team Logo

immonex Kickstart Team

Kickstart Team is an add-on plugin that extends real-estate websites based on WordPress, immonex Kickstart and immonex OpenImmo2WP.

It adds functionality for automated creating, updating, linking and integrating information and contact data on real estate agents and agencies. All relevant data are collected on importing OpenImmo-XML-based real estate offers and assigned to the related property, real estate agency and agent posts automatically.

immonex® is an umbrella brand for various real estate related software solutions and services with a focus on german-speaking countries/users.

OpenImmo-XML is the de-facto standard for exchanging real estate data in the german-speaking countries. Here, it is supported by almost every common software solution and portal for realtors (import/export interfaces).

Basics & Scope

Kickstart Team itself will be available in the official WordPress Plugin Repository soon. A user documentation including detailed instructions how to install, setup and customize the plugin (in German) is available here:

https://docs.immonex.de/kickstart-team/

With skins (template sets), an easy and update-safe way for implementing extensive individual customization (if required) is being provided. The following sections relate to the development of the core add-on plugin in this repository only.

Development

Requirements

Guidelines

We keep it simple and rely on battle-proven standards and best practices whenever possible!

Setup

Setting up a simple development environment starts by cloning this repository and installing dependencies:

$ cd ~/projects
$ git clone git@github.com:immonex/kickstart-team.git immonex-kickstart-team
$ cd immonex-kickstart-team
$ npm install
$ composer install

⚠️ PHP_CodeSniffer and the related WP sniffs are not part of the default dependencies and should be installed globally.

Then, a symlink to the src directory has to be created in the plugins folder of the local WP installation:

$ ln -s ~/projects/immonex-kickstart-team/src/ ~/htdocs/wp-dev-installation/wp-content/plugins/immonex-kickstart-team

Now, the plugin can be activated in the WP backend.

Building

The JS/CSS build process is based on the module/asset bundler webpack. A set of simple npm scripts defined in package.json is used to perform the required steps (no Gulp or Grunt needed).

Create a production version of the sources in the build folder and a corresponding ZIP archive in dist:

$ npm run build

Create and serve a development version with automatic rebuild and browser reload whenever PHP, (S)CSS or JS files are updated:

$ npm run watch

For the latter option, a Browsersync proxy URL to the local WP dev installation has to be defined in the file .env (use .env.example as template).

Coding Standard

The PHP source code formatting corresponds to the WordPress PHP Coding Standards.

The source files can be checked with PHP_CodeSniffer (if, as recommended, installed globally as described here):

$ phpcs

To fix violations automatically as far as possible:

$ phpcbf

⚠️ The JavaScript code may differ from the (slightly dusty...) WP recommendations in favor of a more contemporary style.

Testing

Locally running unit tests (PHPUnit) requires an additional temporary WordPress installation (see infos on make.wordpress.org). To use the test install script included in this repository, the file .env containing credentials of a local test database has to be created or extended first (see .env.example).

After that, the temporary testing environment can be installed:

$ npm run test:install

Running tests in the tests folder:

$ npm run test

Translations

The regular translations for this plugin are provided via translate.wordpress.org (GlotPress).

Additionally, formal and informal German translations (PO/MO files) are available in the src/languages folder, too. This directory also contains a current POT file (as base for custom/local translations) that can be updated with the following command:

$ npm run pot

API Documentation

The API documentation based on the sources can be generated with the following command and is available in the apidoc folder afterwards:

$ npm run apidoc

To view it using a local webserver (port 8000):

$ npm run apidoc:view

If these docs are not needed anymore, the respective folders can be deleted with this command:

$ npm run apidoc:delete

(The folder apidoc is meant to be used locally, it should not be a part of any repository.)

User/Integrator Documentation

The source files (markdown) of the docs for users and integrators mentioned above are located in the doc folder. A globally installed doc-gen package (currently not available publicly) and a suitable user account are required for publishing...

$ npm run doc

...or publishing it under https://docs.immonex.de/kickstart-team/:

$ npm run doc:publish

License

GPLv2 or later

Copyright (C) 2014, 2020 inveris OHG / immonex

This plugin is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This plugin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Trivia

The immonex Kickstart and add-on logos are a tribute to the developers of the original Amiga (later known as Commodore Amiga 1000). 😏

About

immonex Kickstart add-on for handling, linking and integrating real estate (OpenImmo-XML) related agent/agency information and contact forms

Resources

License

Stars

Watchers

Forks

Packages

No packages published