diff --git a/README.md b/README.md index a9e6518d..42c30e6e 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,36 @@ -Easy!Appointments -================ +
+ About • + Features • + Setup • + Installation • + License +
-**Easy!Appointments** is a highly customizable web application that allows your customers to book -appointments with you via the web. Moreover, it provides the ability to sync your data with -Google Calendar so you can use them with other services. It is an open source project and you -can download and install it **even for commercial use**. Easy!Appointments will run smoothly with -your existing website, because it can be installed in a single folder of the server and of course, -both sites can share the same database. +![screenshot](screenshot.gif) -### Features +## About + +**Easy!Appointments** is a highly customizable web application that allows your customers to book appointments with you +via the web. Moreover, it provides the ability to sync your data with Google Calendar so you can use them with other +services. It is an open source project and you can download and install it **even for commercial use**. +Easy!Appointments will run smoothly with your existing websitSe, because it can be installed in a single folder of the +server and of course, both sites can share the same database. + +## Features The project was designed to be flexible and reliable so as to be able to meet the needs of any kind of enterprise. You can read the main features of the system below: @@ -22,62 +40,60 @@ kind of enterprise. You can read the main features of the system below: * Workflow and booking rules. * Google Calendar synchronization. * Email notifications system. -* Standalone installation (like WordPress, Drupal, Joomla and other web systems). +* Standalone installation. * Translated user interface. -* User community support. +* User community support. -### Installation +## Setup + +To clone and run this application, you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) +(which comes with [npm](http://npmjs.com)) installed on your computer. From your command line: + +```bash +# Clone this repository +$ git clone https://github.com/alextselegidis/easyappointments.git + +# Go into the repository +$ cd easyappointments + +# Install dependencies +$ npm install +$ composer install + +# Run the watcher +$ npm start +``` + +Note: If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt. + +You can build the files by running the `npm run build` command. This will bundle everything to a `build` directory. + +## Installation Since Easy!Appointments is a web application, it runs on a web server and thus you will need to perform the following steps in order to install the system on your server: * Make sure that your server has Apache/Nginx, PHP and MySQL installed. -* Create a new database (or use an existing). +* Create a new database (or use an existing one). * Copy the "easyappointments" source folder on your server. * Make sure that the "storage" directory is writable. -* Rename the "config-sample.php" file to "config.php" and set your server properties. -* Open your browser on the Easy!Appointments URL and follow the installation guide. -* That's it! You can now use Easy!Appointments at your will. +* Rename the "config-sample.php" file to "config.php" and update its contents based on your environment. +* Open the browser on the Easy!Appointments URL and follow the installation guide. -You will find the latest release at [easyappointments.org](http://easyappointments.org). +That's it! You can now use Easy!Appointments at your will. + +You will find the latest release at [easyappointments.org](https://easyappointments.org). If you have problems installing or configuring the application visit the [official support group](https://groups.google.com/forum/#!forum/easy-appointments). You can also report problems on the [issues page](https://github.com/alextselegidis/easyappointments/issues) and help the development progress. -### Docker -To start Easy!Appointments using Docker in development configuration, with source files mounted into container, copy the `docker/.env.example` file to `docker/.env` and run: +## License -``` -docker-compose up -``` +Code Licensed Under [GPL v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) | Content Under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) -inside the `docker` directory. +--- -**Important: once the containers are set up, the `src/config.php` file will be overwritten. In some host environments you might need to manually change the BASE_URL value, if Docker cannot map the container to `http://localhost`. - -Production deployment can be made by changing required values in .env file (DB_PASSWORD, APP_URL, APP_PORT) and running: -``` -docker-compose -f docker-compose.prod.yml up -d -``` - -Database data will be stored in named volume `easyappointments_easyappointments-data`, and app storage (logs, cache, uploads) in `easyappointments_easyappointments-storage`. -To find where exactly they are stored, you can run -``` -docker volume inspect easyappointments_easyappointments-storage -``` - -Production containers will automatically be restarted in case of crash / server reboot. For more info, take a look into `docker-compose.prod.yml` file. - -### User Feedback - -Whether it is new ideas or defects, your feedback is highly appreciated and will be taken into -consideration for the following releases of the project. Share your experience and discuss your -thoughts with other users through communities. Create issues with suggestions on new features or -bug reports. - -### Translate Easy!Appointments - -As of version 1.0 Easy!Appointments supports translated user interface. If you want to contribute to the -translation process read the [get involved](https://github.com/alextselegidis/easyappointments/blob/master/doc/get-involved.md) -page for additional information. +> Website [alextselegidis.com](https://alextselegidis.com) · +> GitHub [@alextselegidis](https://github.com/alextselegidis) · +> Twitter [@alextselegidis](https://twitter.com/AlexTselegidis)