diff --git a/README.md b/README.md index 74baddc..9805f21 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,67 @@ # 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` -* Optonal: Create and migrate your database with `mix ecto.create && mix ecto.migrate` +* Optional: Install inotify-tools (or equiv) package for live reloading during devel +* Optional: Create and migrate your database with `mix ecto.create && mix ecto.migrate` * Install Node.js dependencies with `npm install` * Get the necessary babel presets: `npm install babel-preset-es2015 babel-preset-es2016` * 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?