GSoC/2017/StatusReports/Vasudha

From KDE Community Wiki

Title: Ruqola

Ruqola is a Qt interface to Rocket Chat, with a library implementing DDP semantics, and a Kirigami UI for both desktop and mobile. The application is a QML/C++/Qt app, thus providing multi-platform portability. There is currently no native Rocket.Chat client; Ruqola is the first generic cross-platform chat application based on Rocket.Chat.

It offers features such as login and logout, sending and receiving messages, notifications, group chats (channels/rooms), direct chats, leaving rooms, hiding rooms, unread messages, systray for desktop, and a kirigami-based UI.

Work Report

Repositories

Installation

Commits and Issues

Future Work

  • Add functionality for creating and joining new channels.
  • Adding attachments works partially for now.
  • Allow to invite members to a channel.
  • Support for deleting and updating messages.
  • Support for replying to messages.
  • Pin/unpin and starring messages.
  • Favoriting rooms.
  • Improve the UI.

Blog Posts

Screenshots

1. Login Page Ruqola provides user login using username and password combination. It uses an authentication token which is saved locally in order to automatically authenticate the user the next time he tries to use the client. Ruqola will also support federated login (using OAuth2) as soon as Rocket.Chat provides an API for it (Issue#7413)


2. Support for rooms, system tray and a kirigami-UI

There are a lot of things to notice in this screenshot. Let's get them one by one.

  • Rooms: A room can be a channel or a group. Usually there are 'public channels' and 'private groups'. Features for rooms include-
    • Leaving a room
    • Hiding a room
  • System tray: (For desktop) Enables a systray used to minimize or maximize the application, and to display notifications. On closing the application from the "cross" at top right corner does not close the application, but minimizes it to the systray. It contains a menu having an option to Quit, by which the application is actually closed.
  • Kirigami UI: Ruqola uses Kirigami for its user interface. (A big hug to the Kirigami guys :D )



3. Support for hiding and leaving a room



4. Private chat and unread messages

  • Direct chat: This enables one-to-one direct chat between two users.
  • Support for unread messages: Room containing unread messages is highlighted in bold and also displays the number of unread messages for that room.


5. Global drawer having options for changing preferences, logging out, and quitting the application.


Contact Info

Telegram Nick : vasudha_mathur

E-mail : [email protected]