This project represents a platform that can be used by the companies to offer customer support to their clients. The goal of the project is to understand better the concepts behind front-end and back-end side of web programming and it's not for commercial use.
- php_pgsql
- Ratchet - PHP WebSockets ( for the chat's wss server)
- illuminate/database ( for communicating with the database)
- PHPMailer ( for sending confirmation links and information )
Note: The dependencies need to be installed using Composer.
For the project to run correctly you need to do the following steps:
-
Set the
DocumentRootof the apache server to the root of the repository -
Configure your apache server to run over ssl (see here).
-
Go to the project root and use the
composer updatecommand to install all of the dependencies andcomposer dump-autoloadto generate the autoload file. -
Enable the
php_pgsqlextension in case you didn't already do it. -
Enable the
mod_proxy,mod_proxy_httpandmod_proxy_wstunnelextensions (see here). -
Write the following lines in your apache configuration file, right after the
DocumentRootfield :ProxyPass /wss ws://localhost:8081/ ProxyPassReverse /wss ws://localhost:8081/ -
Create a Postgresql database named
Rescand import the schema from theresc_db.sqlfile from the root of the project. -
Change the database credentials from
application/app/Database.phpandapplication/app/Mail.phpwith your own credentials.
If you builded the application correctly, you should start the apache server and try to access https://localhost/ and the website should load. The default credentials for the login section are :
username: admin
password: 1234
You can try out the chat by opening 2 tabs. In one tab you should connect with the previous credentials and go to the chat section, and in the second tab you should click the try a demo button. In the logged tab, you can click get a client and you can start a conversation with yourself.
If you want to use the application like an endpoint, you can call the api functions and connect to the wss server with a separate app and connect it to your own CRM ( you can find more details, along with the documentation in the documentation.html file from the root of the project or click here or you can watch the presentation video here).
- Ancutei Catalin-Iulian
- personal page
- email:
ancutei.catalin@gmail.com
- Condurache Andreea-Emanuela