dappros / ethora

A 'super app' engine for your project. React Native (iOS, Android) and React.js (Web, desktop). Social Sign In 🄵, Messaging 💬 (chat, voice, push notifications), Web3 Wallet 🪪 (profile QR, documents, coins, NFT), DLT 🔐 (provenance, crypto signing), Gamification 🤩, Social Commerce and more.
https://ethora.com/
GNU Affero General Public License v3.0
428 stars 84 forks source link

API for chatrooms #498

Closed seshubonam closed 1 year ago

seshubonam commented 1 year ago

Is your feature request related to a problem? Please describe. Need a way to connect to chatroom messages to read and write messages and media. Also need to get usernames from the chatroom to show recent interactions outside the chat window, in the home screen

Describe the solution you'd like For a voice chat app that takes user posted voice notes and converts to ai generated videos with avatars/scenes related to the voice note. this app enables a creative way of sharing opinions with friends and followers. Here is our requirement:

  1. we have room list which shows tiles of latest messages from each room. we need a way to access each room latest messages/media posted to a specific room and the username of the member posting.
  2. we will be recording voice notes and media outside the chat window using a bottom sheet view that opens upon clicking a room name. this media after being created should be posted to the chatroom(the specific chatroom that user clicks to open its respective bottom sheet view)

Describe alternatives you've considered Alternative would be to increase the number of steps to send a voice-note/media by directing the user to open chat view and then selecting options to record voice or attach media by modifying these inputs to fir our custom needs

Additional context attaching a video of the app development done so far.

in the attached video, the user flow is as follows:

  1. the home screen shows a list of rooms with tiles. each tile is a voice note or a video note posted to the respective room. 2. upon clicking any tile a story component like instagram stories is played, which houses the voice-note/video(media) posted by a member of the room.
  2. users can click the "mic" button on left side of each room in home screen to post media to the room.
  3. for further text chat, a "message" icon can be clicked which directs user to the regular ethora chat room with a slightly modified ui that shows the story tiles at the top of the screen.

In this process, API to chat room messages/media and usernames with read write access is required to fill the home screen tiles with relevant information about the latest media updates from the chat room.

what is the best way we could proceed.

demo video on ios simulator: https://github.com/dappros/ethora/assets/1757478/929581be-9147-4c35-92c2-92896947033a

please let me know if my description is clear.

dzinzyura commented 1 year ago

Hello, @seshubonam !

Thank you for your question and your interest for the Ethora project!

Based on my understanding, it seems you're seeking a comprehensive API description. To access all the necessary details for implementing the desired features, you can follow this link:

http://api.ethoradev.com/api-docs

and here's the link for the XMPP documentation as well:

https://www.npmjs.com/package/@xmpp/client (here you can find the examples of connection) https://xmpp.org/extensions/xep-0045.html (here - is how to work with rooms)

Should you have any additional inquiries, please don't hesitate to reach out. We're here to assist you.

Best regards, Ethora team

*Feel free to reopen this issue if you have any further questions.

seshubonam commented 1 year ago

Thank you, will check and follow the docs.

phwizard commented 1 year ago

@seshubonam I'm not really sure what's the best way to achieve that but certainly there are options. Thoughts below:

I think it makes sense at this stage to have a quick call perhaps so we can discuss the best implementation options together. Feel free to use my Calendly link if this works for you: https://calendly.com/taras-f

seshubonam commented 1 year ago

sure ill connect over a call on 18th. whats the best slot for you in UK time.

phwizard commented 1 year ago

@seshubonam tomorrow is flexible. anything between 10am - 6pm UK should work

seshubonam commented 1 year ago

scheduled 11am. thanks.

phwizard commented 1 year ago

@seshubonam apologies just realized I forgot to add one meeting into Calendar and it's exactly 11am

do you mind moving our call with you to anywhere around 8am, 9am, 10am or 1pm UK onwards?

seshubonam commented 1 year ago

sure no issue with the time.

phwizard commented 1 year ago

@seshubonam is 10am UK good for you?

seshubonam commented 1 year ago

yes works

seshubonam commented 1 year ago

ok got your updated time. all good. 10am, thanks

seshubonam commented 1 year ago

Hi, had to cancel the google meet and will reschedule for next week if thats ok. This is due to a last minute emergency.

phwizard commented 1 year ago

OK sure, hope all is well and please use Calendly link for the next week

dzinzyura commented 1 year ago

Hi @seshubonam!

I hope this message finds you well.

I wanted to touch base regarding the call. Is it still necessary at this point? If yes, please feel free to choose a more convenient time using the Calendly link:

https://calendly.com/taras-f

Let's make sure our conversation fits seamlessly into your schedule. Looking forward to your response!

Best regards, Vladyslav Ethora team

seshubonam commented 1 year ago

yes the call is a priority. Have not been well and some development was going to better demo the app. I will book a slot for wednesday. thanks for your continued support.

phwizard commented 1 year ago

@seshubonam please note we have added description of chat-related client-server flow here: https://github.com/dappros/ethora/blob/main/api/chats.md

For example, for your purposes of getting X amount of messages per room you can use the getRoomArchiveStanza function which uses the XMPP mechanism.

In any case, let's discuss your requirements on our call today and we'll be able to advise better.

seshubonam commented 1 year ago

sure thanks. looking forward to the call.

seshubonam commented 1 year ago

awesome! thanks for the informative call.

Rooting for Ethora and its feature rich offering for developers.

Would like to make our application an example of whats possible by integrating most of the tools with a new ui for voice messaging and get the word out there.

It's a better alternative compared to Commercially available SDKs for adding such features to apps/websites.

More developers have to know about this and we will do our part in sharing this repository.

posted to twitter and reddit self host groups a month ago. but limited reach, so betting on finishing up the app and launching.

Just the api integration is left, basic app ui is done https://www.loom.com/share/b7b0d501e9d9455f9d2ab95860eba65d?sid=89efaaad-be91-4231-b993-22674c829225 and adding ai api is also left, but its ready to be integrated. Around 10th September could share a functional app for testing.

Will reachout through github issues, when we have questions. Thanks for your team's amazing support.

phwizard commented 1 year ago

Great to talk Seshu and thank you for your efforts in making the product more known, definitely that should help the ecosystem! As discussed, we will be happy to help from our side with anything, just let us know.

phwizard commented 1 year ago

closing this for now, please reopen if any new questions