/dashboard-chat

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

npm version

Tiledesk-dashboard

home_screenshot

Tiledesk.com backoffice application is available on GitHub with the AGPL-3.0 licence.

Follow this instructions to setup the environment.

Consider that Tiledesk.com cloud service makes every module available with the same open source licence.

  • Web Widget component

  • iOS Widget API (work in progress)

  • full iOS App

  • full Android App

  • Tiledesk Dashboard (this repo)

  • All the chat components are available thanks to the Chat21 open source project, also available on GitHub (https://github.com/chat21)

Feel free to ask for support on https://tiledesk.com, using the live chat widget on the the website.

Features

  • Angular 5.0

  • Firebase Auth

  • Firebase Database CRUD (Firestore & Realtime DB)

  • MongoDB CRUD

Prerequisites

Install from source code

Install the latest stable release. Check on Github page the last release under the Releases tab and then run

  • git clone https://github.com/Tiledesk/tiledesk-dashboard.git --branch <LATEST-RELEASE-VERSION>

  • cd tiledesk-dashboard

  • npm install

Dev configuration

You can put your API URL and the other settings directly in the environment.*.ts if remoteConfig is set to false or in the dashboard-config.json if remoteConfig is set to true.

An example of the configuration of the environment.ts file in src/environments/

environment.ts

export  const environment = {

	production: false,

	remoteConfig: true,

	remoteConfigUrl: "/dashboard-config.json",

	VERSION: require('../../package.json').version,

}

dashboard-config.json

t2y12PruGU9wUtEGzBJfolMIgK: 'PAY:F-ANA:F-ACT:F-TRI:F-GRO:F-DEP:F-OPH:F-MTL:F-DGF:F-NAT:F',
widgetUrl: "https://<YOUR_CHAT21_WEB_WIDGET_URL>:4200/launch.js"

botcredendialsURL: "https://<YOUR_BOT_CREDENTIALS_URL>",

SERVER_BASE_URL: "https://<YOUR_TILEDESK_SERVER>/",

CHAT_BASE_URL: "https://<YOUR_CHAT21_IONIC_URL>/chat",

testsiteBaseUrl: 'http://localhost:4200/assets/test_widget_page/index.html',

wsUrl: 'ws://' + window.location.hostname + '/ws/',

	firebase: {

		apiKey: "123ABC..",

		authDomain: "XYZ.firebaseapp.com",

		databaseURL: "https://XYZ.firebaseio.com",

		projectId: "XYZ",

		storageBucket: "XYZ.appspot.com",

		messagingSenderId: "123456"

	}

};

RUN in dev

Run the app with ng serve

Prod configuration

For production installation, configure the environment.prod.ts file in src/environments/.

environment.prod.ts

export  const environment = {

	production: false,

	remoteConfig: false,

	VERSION: require('../../package.json').version,

	...

	// same as in the above "dashboard-config.json"
	// note: for Firebase settings you can use a different firebase project to isolate environments
}

Build

Run ng build --prod --base-href ./

Deploy

Deploy to a Web Server

Copy the content of the dist folder to your Web Server (for example Apache or Nginx)

Deploy on AWS CloudFront and AWS S3


aws s3 sync ./dist/ s3://tiledesk-dashboard/dashboard


aws cloudfront create-invalidation --distribution-id E2DTAKWHWQ7C3J --paths "/*

Run with docker

To run Tiledesk-dashboard on port 4500 run:


curl https://raw.githubusercontent.com/Tiledesk/tiledesk-dashboard/master/.env.sample --output .env

nano .env #configure .env file properly

docker run -p 4500:80 --env-file .env tiledesk/tiledesk-dashboard

Run with npm

To run Tiledesk-dashboard with npm:

UNDER DEVELOPMENT


curl https://raw.githubusercontent.com/Tiledesk/tiledesk-dashboard/master/.env.sample --output .env

nano .env #configure .env file properly

npm install -g @tiledesk/tiledesk-dashboard

tiledesk-dashboard

Brand

Edit the file brand.json in the folder src/assets/brand/ to customize

  • company name,

  • logo images,

  • navigation,

  • contact email and more

Edit the file _variables.scss in the folder src/assets/sass/md/ to customize the colors