GSoC-2022
Project AbstractΒ Β Β
DeliverablesΒ Β Β
DemoΒ Β Β
ContributionsΒ Β Β
BlogΒ Β Β
MentorΒ Β Β
Links
I got a chance to work on a project called EmbeddedChat which is an in-app chat solution to web applications needing a chat component to increase user engagement.
From just an idea (proposal) to a complete product - 3 months of Google Summer of Code passed.
I intend to maintain this repository as a final report summary of my GSoC work and a quick guide for all future GSoC aspirants.
β Project Abstractβ
EmbeddedChat allows users to integrate RocketChat into their React web-based applications easily also providing an amazing developer experience while introducing in-app chat solutions.
π’ Deliverablesβ
The following are the deliverables of this project:
- Creation of UI using RocketChat Fuselage design system. [NEW]
- Providing real-time chat functionality using RocketChat node.js SDK. [NEW]
- Authentication using RocketChatβs Google SSO with an additional choice for
<username, password>
login (if the user already has an account). [NEW] - Adding EmojiOne Emoji Picker to the component to ensure cross-platform functioning of emojis.[NEW]
- Using Rocket.Chatβs REST API to: [NEW]
- Get channel details
- Get the channelβs pinned messages
- Get the channelβs starred messages
- Get the channel attachments
- Send a message to the channel
- Get messages of the channel
- Providing the functionality to pin/star/react to any message and mention users. [NEW]
All of the above deliverables were completed within the GSoC period. Yay! π
πΊ Demoβ
Sneak Peakβ
Providing real-time chat functionality using RocketChat node.js SDKβ
Authentication using RocketChatβs Google SSOβ
Adding EmojiOne Emoji Picker to the component to ensure cross-platform functioning of emojis.β
Using Rocket.Chatβs REST APIβ
Took an object-oriented programming approach to build this. Created an API wrapper that is super simple to set up. Here is the code.
Providing the functionality to pin/star/react to any message and mention users.β
π Contributionsβ
PRsβ
PR Link | Description |
---|---|
PR #1 | [NEW] initialize project and base setup |
PR #4 | NEW: issue and pr template |
PR #5 | IMPROVE: Responsiveness |
PR #7 | NEW: sending and receiving msgs (the oop way) |
PR #11 | Parsing emojis in message box |
PR #12 | NEW: AUTH (google SSO) |
PR #15 | NEW: Development documentation |
PR #26 | [IMPROVE] UI/UX improvements |
PR #40 | FIX: when host is https set useSSL as true |
PR #41 | [IMPROVE] more options to be present whether or not its fullscreen |
PR #46 | FIX: when cookies are there assume user present |
PR #47 | CHORE: remove tech.co.html |
PR #48 | Handling attachments |
PR #44 | NEW: react to message |
PR #42 | NEW: Pin and star messages |
PR #39 | Add format to all files |
PR #29 | NEW: CI/CD Pipeline to deploy the package |
My overall contributions at Rocket.Chatβ
Besides my GSoC project I have been contributing prolifically to other Rocket.Chat projects - RocketChat.js.SDK, RC4Community, fuselage, Rocket.Chat.
π Blogβ
I have been writing blogs regarding my progress in GSoC.
- My journey with open source and lessons learned
- [PART-I] GSoC 2022 | Rocket.Chat | EmbeddedChat
- [PART-II] GSoC 2022 | Rocket.Chat | EmbeddedChat
- Final Part: GSoC 2022 | Rocket.Chat | EmbeddedChat
π Mentorβ
A big big thank you to my mentor for the guidance before and throughout GSoC. π
I learned beyond GSoC from him and am forever grateful to be mentored by him.