# xui **Repository Path**: jtxf/xui ## Basic Information - **Project Name**: xui - **Description**: XUI is a micro UI framework and implementation for FreeSWITCH - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # the XUI Project This project is in active development and is not ready for production use. ## Design Use the built-in HTTP server in mod_verto, no depends on anything except FreeSWITCH. Support SQLite and PostgreSQL. Follow the morden https://freeswitch.org/stash/projects/FS/repos/fs18configs/browse config layouts, old configs layouts should also work with trival changes. The goals is to remove all static XML configs and store everything in DB and dynamically serve with lua or xml_curl bindings. ### xTra A Sintra like micro MVC framework called xTra is made in vendor for easier backend development. xdb is included as a simple ORM. xtra_config.lua for sample configurations. xTra will search xtra_config.lua first in /etc/xtra/ and then in a dir including vendor. e.g. if you want to edit xtra_config.lua to include custom configs, do cd vendor cp xtra_config.lua .. cd .. vi xtra_config.lua ## ToDo * Make more todos ... ## Coding Style: C: 4 spaces TAB CSS/JS/HTML: https://github.com/felixge/Node-style-guide ## run ### Install npm (optional) * Linux Debian 8/9 need recent version of npm, check for more info. curl -sL https://deb.nodesource.com/setup_4.x | bash - apt-get install -y nodejs * Mac brew install npm ### Install npm tools Optionally use the taobao mirror would be faster if you are in China npm config set registry https://registry.npm.taobao.org npm install -g jshint npm install -g watch npm install -g wiredep-cli npm install -g usemin-cli npm install -g watchify npm install -g babel-cli npm install -g uglifyjs npm install -g uglify-js cd jsapp npm install Alternatively can use cnpm see for more info. cnpm install -g jshint cnpm install -g watch cnpm install -g wiredep-cli cnpm install -g usemin-cli cnpm install -g watchify cnpm install --save-dev babel-cli cd jsapp cnpm install ## Development init db: cd db/schema && make or, if your freeswitch is not installed in /usr/local/freeswitch cd db/schema && cat sqlite.sql init*.sql | sqlite3 /usr/local/freeswitch/db/xui.db prepare: mkdir /usr/local/freeswitch/storage/{recordings,upload} make setup build: make watch file change and build automatically: make watch It's not required but sometimes the following command is helpful, don't ask why: make init Enjoy! * * * * * ## config 1) backup old config files and use our recommended ones: mv /usr/local/freeswitch/conf /usr/local/freeswitch/conf.old cp -R conf/xui /usr/local/freeswitch/conf 2) or you can edit existing configs following the examples: conf/samples/verto-directory-conf.xml conf/samples/lua.conf.xml conf/samples/verto.conf.xml enable livearry-sync on conference profile: then goto https://your-ip:8082 or http://your-ip:8081 only Chrome is tested but you could try other browsers and report back. # Update If you pull/update code from github chances are we added new npm packages, so make sure `cd jsapp && npm install` if you see wired erros. More: * * * * * * * * * Verto Docs: * * # Pull request [Pull request is welcome](https://github.com/seven1240/xui/wiki#pull-request). # Docker It is recommended to develop or run XUI in docker. See [Docker](https://github.com/seven1240/xui/wiki#docker) for more information. # Documentation Check our [Wiki](https://github.com/seven1240/xui/wiki) for more info. Have fun!