Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/serknight/guild-messenger
chat.it.up.
https://github.com/serknight/guild-messenger
Last synced: about 2 months ago
JSON representation
chat.it.up.
- Host: GitHub
- URL: https://github.com/serknight/guild-messenger
- Owner: SerKnight
- Created: 2018-03-21T02:33:50.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-14T00:43:21.000Z (about 2 years ago)
- Last Synced: 2023-03-22T21:12:49.871Z (almost 2 years ago)
- Language: Ruby
- Size: 1.13 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Guild Messenger
================> [Guild Messenger Demo](https://guild-messenger.herokuapp.com/)
Tech Project Focus
================**It's possible to type a short message and have it sent to another user**
* Went with a mimick of the guild's visible organizational structure.. Users, Classrooms, Memberships, Messages
**It's possible to see messages sent from another user appear reasonably soon after they were sent**
* Decided to finally explore ActionCable / Websocket as this seemed a perfect fit & chance for me to learn something**Tests**
* Focused on Model & Feature specs (selenium + chromedriver) to test memberships, classroom management, and conversations w/ messages
* If I continued with breaking out the cables/channels would spec out & learn how each cable sends and receives data**Usability**
* Pulled colors / branding / font patterns from existing Guild site to mimick a live chat
* Deployed so Guild Team can play with. Emails / Assets / Websockets configuration needed
* Mocked some data & setup a seed for production to mock a more realistic working application**Extra**
* Basic analytics & some production email functionality for inviting someone else to a Classroom's chat
* As a developer it is always nice to actually know when ( & how ) someone is using the tools you build# TODO
----
> Extend Actioncable / Websockets
* To show a live view of members actively connected to a classroom
* Create more dynamic sender / receiver chatroom bubbles in the UI (this was hard.. logic is serialized into the html when a message is created.. Pretty sure I'd need multiple/different sender/receiver cable subscriptions to dynamically display incoming messages )
* Much more to explore about websockets & their use cases in production.. Very cool!> Setup background Processing for emails ( & add notifications ) / and perhaps BG processing of messages to be sent via ActionCable for scale? Need more ActionCable research
> Extend the account page to include profile picture (gathered from fb||google||linked oAuth), categories of interest, management of memberships of classrooms
> Add more elaboration on classroom memberships & permissions for owners / moderators, other than jsut deleting a channel
> Connect to an internal Guild API and split off chatrooms for users in the same class as one another ( Find a Study Buddy, etc.. )
> Would enable multi-line ( text area ) sending, as well as files & other rich content, Emoji support is an obvious next step.