GSoC/2017/StatusReports/Vasudha: Difference between revisions
No edit summary |
No edit summary |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== | == [[File:Ruqola-icon.png|border|50x50px]] 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. | 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. | ||
Line 19: | Line 19: | ||
*[https://github.com/RocketChat/Rocket.Chat/issues/7413/ Issues made by me] | *[https://github.com/RocketChat/Rocket.Chat/issues/7413/ Issues made by me] | ||
=== Bugs assigned to me === | |||
*[https://bugs.kde.org/buglist.cgi?quicksearch=ruqola&list_id=1460750/ Bug list] | |||
=== Future Work === | === Future Work === | ||
*Add functionality for creating and joining new channels. | |||
*Allow to invite members to a channel. | |||
*Support for deleting and updating messages. | |||
*Support for replying to messages. | |||
*Adding attachments works partially for now. | |||
*Pin/unpin and starring messages. | |||
*Favoriting rooms. | |||
*Add support for emoticons and reactions. | |||
*Give more love to the UI. | |||
== Blog Posts == | == Blog Posts == | ||
Line 27: | Line 40: | ||
*[https://vasudhamathur.wordpress.com/2017/06/19/network-management/ Network Management] | *[https://vasudhamathur.wordpress.com/2017/06/19/network-management/ Network Management] | ||
*[https://vasudhamathur.wordpress.com/2017/07/05/adding-federated-loginoauth2-support/ Federated Login] | *[https://vasudhamathur.wordpress.com/2017/07/05/adding-federated-loginoauth2-support/ Federated Login] | ||
*[https://vasudhamathur.wordpress.com/2017/08/25/ruqola-installation// Ruqola Installation] | |||
== Screenshots == | == Screenshots == | ||
[https://github.com/VasudhaMathur/Ruqola-before-GSoC-screenshots/ Here] you can have a look at what Ruqola looked like when I started working on it. | |||
'''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 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 ([https://github.com/RocketChat/Rocket.Chat/issues/7413/ Issue#7413]) | Ruqola will also support federated login (using OAuth2) as soon as Rocket.Chat provides an API for it ([https://github.com/RocketChat/Rocket.Chat/issues/7413/ Issue#7413]) | ||
[[File:login.png]] | [[File:Ruqola-login-page.png]] | ||
'''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. | There are a lot of things to notice in this screenshot. Let's get them one by one. | ||
Line 44: | Line 61: | ||
** Hiding 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 ) | |||
[[File:Ruqola-main-screen.png]] | |||
'''3. Support for hiding and leaving a room''' | |||
[[File: | [[File:Ruqola-leaving-room.png]] | ||
[[File: | '''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. | |||
[[File:Unread-messages-pc.png]] | |||
'''5. Global drawer having options for changing preferences, logging out, and quitting the application.''' | |||
[[File:global-drawer.png]] | [[File:Ruqola-global-drawer.png]] | ||
Latest revision as of 19:51, 27 August 2017
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
Bugs assigned to me
Future Work
- Add functionality for creating and joining new channels.
- Allow to invite members to a channel.
- Support for deleting and updating messages.
- Support for replying to messages.
- Adding attachments works partially for now.
- Pin/unpin and starring messages.
- Favoriting rooms.
- Add support for emoticons and reactions.
- Give more love to the UI.
Blog Posts
- Before GSoC
- During GSoC
- Extending Data Models
- Network Management
- Federated Login
- Ruqola Installation
Screenshots
Here you can have a look at what Ruqola looked like when I started working on it.
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]