GithubHelp home page GithubHelp logo

ertprs / tiledesk-dashboard-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tiledesk/tiledesk-dashboard

0.0 0.0 1.0 16.09 MB

The Tiledesk dashboard. Tiledesk is an Open Source Live Chat platform written in NodeJs, firebase and Angular.

Home Page: https://www.tiledesk.com

License: GNU Affero General Public License v3.0

TypeScript 44.43% JavaScript 0.04% HTML 38.29% CSS 0.38% Shell 0.07% Dockerfile 0.02% SCSS 16.77%

tiledesk-dashboard-1's Introduction

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.

If remoteConfig is set to true create a file name dashboard-config.json and put it into src folder.

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

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/ or load an external json by adding in environment.*.ts (or in the dashboard-config.json if remoteConfig is set to true) brandSrc :"https://<YOUR_BRAND_JSON>/ to customize:

  • company name,

  • logo images,

  • navigation,

  • contact email and more

Note: enable CORS if brand json is loaded from a different domain

dashboard-config.json

widgetUrl: "https://<YOUR_CHAT21_WEB_WIDGET_URL>:4200/launch.js",

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

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


...

brandSrc :"https://<YOUR_BRAND_JSON>/",

...

};

docker env.sample file

SERVER_BASE_URL=YOUR_TILEDESK_SERVER_URL


...


BRAND_SRC=https:YOUR_BRAND_SCRIPT_URL

...

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

Load external scripts

Load external scripts by adding in environment.*.ts (if remoteConfig is set to false or in the dashboard-config.json if remoteConfig is set to true) the key globalRemoteJSSrc with value your scripts separated by commas

dashboard-config.json

widgetUrl: "https://<YOUR_CHAT21_WEB_WIDGET_URL>:4200/launch.js",

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

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


...


globalRemoteJSSrc :"https://<YOUR_CUSTOM_SCRIPT_1>, https://<YOUR_CUSTOM_SCRIPT_2>",

...

};

docker env.sample file

SERVER_BASE_URL=YOUR_TILEDESK_SERVER_URL


...


REMOTE_JS_SRC=YOUR_CUSTOM_SCRIPT_URL

...

tiledesk-dashboard-1's People

Contributors

andrealeo83 avatar gab-95 avatar sponzillo avatar nicolan74 avatar

Forkers

andreysuprano

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.