InfyChat

Technical Users

If you have purchased the InfyChat system then you will be able to find 2 different zip files into it.

  • dist.zip
  • src.zip

If you are a technical user, then you need to use a src.zip file. To set this up, you need to have a sound knowledge of Laravel. It's also expected that you know about deploying Laravel and JS applications on the webserver as well.

Extract that file on your local and follow the following steps:

1. Setup environment .env file

You need to change the following information into your environment (.env) file.

APP_NAME - Name of your Application/Library System APP_URL - Change this URL with your server URL (including trailing path if you are putting it in a subfolder or root website) DB_HOST - Put your database hostname here DB_PORT - Put your database port here if it does not default to 3306 DB_DATABASE - Change it to your database name DB_USERNAME - Name of your database user DB_PASSWORD - Password of your database user

You will also need to set up mail configuration, you can read more about here for that setup based on mail service that you use.

MAIL_DRIVER MAIL_HOST MAIL_PORT MAIL_USERNAME MAIL_PASSWORD MAIL_ENCRYPTION MAIL_FROM_ADDRESS MAIL_FROM_NAME

Optional Configurations

OneSignal - If you want to configure Push Notifications then you need to add OneSignal configuration. You can find the steps here.

AWS S3 - You can also use your choice of storage driver to store your media assets if you want. All of your attachments will be placed into that. You can find the steps here.

Social Authentication - You can configure social authentication for registration and Login. You can find the steps here

2. Composer install (For Laravel)

You need to install all laravel dependencies with the following command.

composer install

Once the composer install is completed, run a command to generate a key.

php artisan key:generate

3. Laravel Echo Configuration

InfyChat is built on Laravel Echo, Laravel Broadcasting mechanism. InfyChat works with all Laravel Echo supported drivers.

  • Socket.io
  • Pusher

You can use your choice of driver for realtime message updates. Here is the guide for both.

3.1 Pusher Configuration

Pusher provides a very easy and effortless way to create realtime applications. If you do not want to go into nodejs configuration and server management stuff, then Pusher is a recommended choice for you. Pusher offers a very good free plan for small applications and then you can choose a plan of your choice and based on your need.

You can find steps here to configure Pusher.

3.2 Socket.io

If you are familiar with web application management with nodejs and Redis, then socket.io can be a good choice for you. With Laravel Echo server, it will run on your server, and you do not need any subscription for it.

You can find steps here to configure the Laravel Echo Server.

4. Install npm Dependencies

Install node modules,

npm install

5. Run database migrations

Run database migrations and seeders for creating a database and fill default data

php artisan migrate --seed

Or, If you are not able to run migrations for any reason then you can import a pre-populated database file from the dist folder to your database.

6. Build a project

Build a project with a laravel mix. If you are running in development mode then run,

npm run dev

Or if you are planning to use it in production then run,

npm run prod

That's it and you are ready to go.

7. Admin login

You can now login as admin using the following credentials.

email: admin@gmail.com

password: admin

Setup Default DB

8. Landing page

Access the InfyChat app by your URL. You should be able to see the below-landing page.

Setup Default DB

Click on the Register button and do register using your email.

Setup Default DB

Now check your email you will get below activation mail. (Make sure you have configured your mail settings properly)

Setup Default DB

Click on the “Activate your account” button, and you will be redirected to the login page as shown in the below image.

Login using your email & password

Setup Default DB

We are ready to go.