Page MenuHomePhorge

README.md
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None

README.md

# KolabChat
*WARNING: PRE-ALPHA SOFTWARE, WILL EAT ALL THE BABIES*
KolabChat provides an Instant Messaging and Video Chat application.
The goal of this project is to give Kolab users tools to communicate
with each other in real time using web browser.
To learn about Kolab visit https://kolab.org
# Building
This covers building for development purposes:
* Install dependencies with `mix deps.get`
* Optional steps
* Install inotify-tools (or equiv) package for live reloading during devel
* Create and migrate your database with `mix ecto.create && mix ecto.migrate`
* Node.js components
* Node.js is only a build dependency, and is used to build the web assets
For just running Kolab Chat, Node.js is NOT required.
* Node.js version 5.0.0 or newer is required.
* Install dependencies with `npm install`
* Install babel presets: `npm install babel-preset-es2015 babel-preset-es2016`
* Initialize database: `mix amnesia.create -db KolabChat.Database --disk`
* Start Phoenix endpoint with `mix phoenix.server`
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.
Milestone I.
------------
- authenticate against Kolab (Basic http auth)
- think about generic component for Kolab auth
- Aaron should look for it on his laptop ;)
- setting user presence status and receiving other users status
- notifications
- person-to-person chats (https://github.com/chrismccord/phoenix_chat_example)
- single page web application that shows contacts list and you can start chats
- How to start a chat, set presence, display presence?
- How to define/start a group chat? invitations?
- "Chat window" layout
- groups chats
- webRTC (https://hashrocket.com/blog/posts/implementing-video-chat-in-a-phoenix-application-with-webrtc)
Milestone II.
-------------
- Roundcube integration
- Current user presence indicator in the toolbar, with possibility to set status
- A way to start a chat by clicking a user name/email address/status icon in the email view and addressbook
- Other users status on contacts list
- How to start a chat from UI?
- How to show the chat "window"?
- Kube integration
- Jabber bridge (internal organization communication)
- UI customization
Milestone III.
--------------
- File transfer
- End-to-end Encryption
- Multi-user video chats
- Federation (communication between Kolab servers)
- Server-side chat history/state
- Single-use invitations for external people
- Chat-room "booking" and integration with calendar
Tools:
------
- Plug, Phoenix's pubsub (https://github.com/phoenixframework/phoenix_pubsub)
- Javascript client for pubsub
- ueberauth?

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 6, 1:47 AM (6 d, 18 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
31/83/e01f1da12dcb1ff67854cdd27f60
Default Alt Text
README.md (2 KB)

Event Timeline