Easy Appointments¶
Easy Appointments is an open source web application for booking / scheduling appointments. It allows for many customization options and use-cases and provides optional sync to Google Calendar.
Easy Appointments was first released 2016 and is maintained by Alex Tselegidis. It is distributed under GPL 3.0.
Prerequisites¶
Easy Appointments works fine with any current (> 7.0) version of PHP.
You’ll need your MySQL credentials. Get them with my_print_defaults
:
[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$
We suggest using an additional database. Create one with:
[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_ea"
Your domain needs to be setup:
[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$
Installation¶
cd
into your document root, download the latest build, unzip and remove the zip file:
[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ wget https://github.com/alextselegidis/easyappointments/releases/download/1.3.2/easyappointments_1.3.2.zip
[isabell@stardust html]$ unzip easyappointments_1.3.2.zip
[isabell@stardust html]$ rm easyappointments_1.3.2.zip
[isabell@stardust ~]$
Configuration¶
To get started set some basic configuration variables. First, copy the sample configuration:
[isabell@stardust ~]$ cd /var/www/virtual/$USER/html/
[isabell@stardust html]$ cp config-sample.php config.php
[isabell@stardust html]$
Then, edit config.php
. In here you need to enter your base-URL, MySQL credentials database connection parameters and the name of your database (e.g. isabell_ea
).
// GENERAL SETTINGS
// ------------------------------------------------------------------------
const BASE_URL = 'isabell.uber.space';
const LANGUAGE = 'english';
const DEBUG_MODE = FALSE;
// ------------------------------------------------------------------------
// DATABASE SETTINGS
// ------------------------------------------------------------------------
const DB_HOST = 'localhost';
const DB_NAME = 'isabell_ea';
const DB_USERNAME = 'isabell';
const DB_PASSWORD = 'MySuperSecretPassword';
Finishing installation¶
Point your browser to your domain, https://isabell.uber.space/
in this example, to finish up the installation process. Here you will
Set a administrative account and password
Set basic settings for your business / usage
Easy Appointments is now ready to use.
Tuning¶
Translations¶
Easy Appointments’ inbuilt language translations are not always perfect and you might want to change some wordings to better fit your needs. You can remove unneeded translations by removing them from the array in /var/www/virtual/$USER/html/application/config/config.php
, for instance:
/*
|--------------------------------------------------------------------------
| Available Languages
|--------------------------------------------------------------------------
|
| Each item of this array must be a directory with the translation files in
| the /application/language directory. The users will be able to select one
| of these languages.
|
*/
$config['available_languages'] = [
'english',
'french',
'german'
];
You can also add a new translation by copying and renaming a translation-folder in /var/www/virtual/$USER/html/application/language/
and adding its name to the array above.
You can modify an existing translation by editing the translation_lang.php
file in the desired language folder. For english this would be /var/www/virtual/$USER/html/application/language/english/translation_lang.php
Note
The official documentation contains additional information on translation and other topics.
Updates¶
Note
Check the update feed regularly to stay informed about the newest version.
Backup all your files and the database before updating!
Download the new version, unzip it and overwrite all the files in your document root except config.php.
Navigate your browser to
https://isabell.uber.space/index.php/backend/update
to run the database update.
Tested with Easy Appointments 1.3.2, Uberspace 7.7.7
Written by: Lukas Herzog <hallo@lukasherzog.de>