Coder Social home page Coder Social logo

smpallen99 / ucx_chat Goto Github PK

View Code? Open in Web Editor NEW
54.0 8.0 8.0 4.14 MB

UcxUcc is a simple but powerful team collaboration suite of applications designed to improve communications, information sharing and productivity for the businesses small and large.

License: MIT License

Elixir 43.20% JavaScript 11.42% Shell 0.16% CSS 25.92% HTML 19.29%
elixir phoenix-framework chat chat-application chatbot

ucx_chat's Introduction

UcxUcc - A Team Collaboration Suite

NOTE

This is a pre-release verson of this project. The project is being refactored and renamed. Once we get the new project working with feature parity, this project will be removed.

Your welcome to submit issues against this project until the new project is posted. However, please don't submit PRs. Development on this project has ended.

UcxUcc is a simple but powerful team collaboration suite of applications designed to improve communications, information sharing and productivity for the businesses small and large.

Checkout the Live Demo. Click on the Register a new account link on the sign in page to create an account.

Screen Shoot

This innovative suite of tools enhances business productivity with:

  • An enterprise class telephone that is available anywhere your employees have an Internet connection
  • Share important messaging conversations that would normally be hidden in point to point conversations with tools like SMS and Skype.
  • Choose the most effect method of communications a glance at their on-line or on the phone presence.
  • Upload, search and download documents, images, videos, and audio files in chat rooms and share with the rest of your team.
  • Start a private conversations with direct messages
  • Pin important messages for quick access for everyone
  • Star important messages for your quick reference
  • Track popularity of messages with message reactions and see who reacted
  • Never miss an important message with an advanced notification framework that provides audible, desktop, SMS, and email notifications. Control the noise by customizing the notifications on a room by room basis.

And the bast part is that the data is safe with encrypted connections between your browser and the server. All the data is stored on your own server, not on someone else's cloud.

Available Features

  • Multiple channel types (public, private, direct messgaes)
  • Favorite channels
  • @mentions with audible and badge notifications
  • Presence with override
  • Message editing, pinning, starring, deleting
  • About 30 slash commands (create room, invite user, ...)
  • Autolink and preview urls
  • Drag and drop file update with image and video preview
  • Emoji support with picker
  • Message reactions
  • Unread message handling
  • Customizable Role and Permission system
  • Some basic Bot experimental support
  • Code syntax highlighting
  • Profile editing and admin pages
  • Very configurable
  • and more ...

Feature Roadmap

  • Replace the Rock.Chat UI with a new original design
  • Peer to peer Video
  • Peer to peer Audio
  • Presence adapters for on-the-phone presence with Asterisk PBX
  • Mobile clients and Push notifications
  • Email and SMS notifications
  • OTR Conversations
  • Live chat feature
  • 3rd party integration (web hooks, Rest API)
    • BitBucket
    • Github
    • Jira
    • ...
  • OAuth and LDAP
  • XMPP Integration
  • Internatization (Much of the UI uses gettext already)
  • UI theming
  • Documenation for other databases and flavours of *nix
  • and more ...

Archtectural Notes

  • Elixir & Phoenix Backend
  • Light JS frontend (jQuery only)
  • After initial page load, channels are used for UI rendering. HTML is renedered on the server and pushed to the client over channel
  • Originally build as a stand-a-lone single app.
  • In the process of refactoring it to be extensible through plugins
  • We will be using it for a client framework with initial support for the chat app and our commerical WebRTC softphone (delerved as a plugin)
  • This is a work in progress and requires a lot of clean up before production release
  • I've experiemented with serveral diffent approaches of channel -> JS rendering, channel message routing, etc. I still need to pick an approach and refactor the other areas for consistency.

Other Notes

Backup Database

mysqldump --add-drop-database --add-drop-table -u user --password=secret --databases ucx_chat_prod > ucx_chat.sql

Restore Database

mysql -u user -psecret < ucx_chat.sql

Install Dependencies

ffmpeg

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
yum install ffmpeg ffmpeg-devel -y

ImageMagick

yum install -y ImageMagick ImageMagick-devel

Running Migrations on Dev

iex> Ecto.Migrator.run UcxChat.Repo, Path.join([Application.app_dir(:ucx_chat) | ~w(priv repo migrations)]), :up, all: true

Updating Config When there are new entires

alias UcxChat.{Repo, Config.FileUpload, Config}
config = Repo.all(Config) |> hd
Config.changeset(config, %{file_upload: %FileUpload{} |> Map.from_struct}) |> Repo.update

Contributing

We appreciate any contribution to UcxChat. Check our CODE_OF_CONDUCT.md and CONTRIBUTING.md guides for more information. We usually keep a list of features and bugs in the issue tracker.

Acknowlegemets

The UI for this version of the project is taken (with some modifications) directly from Rocket.Chat.

License

UcxChat is Copyright (c) 2017 E-MetroTel

The source code is released under the MIT License.

Check LICENSE for more information.

ucx_chat's People

Contributors

smpallen99 avatar

Stargazers

 avatar Nguyen Van Khoi avatar Ryan Niemi avatar Jo Jaeyong avatar 1 avatar Siddhant Singh  avatar Anatolio ✨ avatar Ketan Anjaria avatar Yu Lin avatar Mikal avatar  avatar Charleno Pires avatar Vitalik avatar GilcierWeb avatar 0x00evil avatar Gento Morikawa avatar Harald Hanek avatar Sérgio Hilgert avatar Xi avatar  avatar Tres Wong-Godfrey avatar Wade Ying Xing avatar 0x0467 avatar Daniel Sam avatar Jair Peña avatar Ma Chao avatar Andrew Y. avatar T. Mjoen avatar Sandesh Soni avatar Bruno Wego avatar Hongbo Zhen avatar  avatar Jie Zheng avatar Emanuel Quimper avatar Rodrigo Nonose avatar Fabien avatar Bozhidar Hristov avatar Daniel Docki avatar Revoori Sai Revanth avatar Shankar Dhanasekaran avatar Pat White avatar Yordis Prieto avatar Ben Periton avatar Alejandro Mezcua avatar Axel Sachmann avatar Mike Vormwald avatar Chase Gilliam avatar Juergen Braungardt avatar Sirius248 avatar Carlos Ramos avatar Ricardo Marinovic avatar  avatar Mustafa Ozguner avatar

Watchers

James Cloos avatar  avatar  avatar Sirius248 avatar Sandesh Soni avatar Yordis Prieto avatar 1 avatar  avatar

ucx_chat's Issues

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.