How to find messages by text in a Dynamodb chat application? - dynamodb-queries

I see a lot of recommendations for using dynamodb with chat applications. It is really fast when querying by keys. However a chat needs search by message text functionality which could not be implemented in dynamodb, I’m interested how other people deal with this problem ?

Related

How to implement not-real time chat between clients in Spring

I would like to understand what's the best way to implement a very simple message exchange system between two clients, using Spring Boot as back-end and AngularJS as front-end.
I'm new to Spring, I'm studying it and using it for a University project.
Let's say that my project is a kind of a simplified e-commerce. I want to create a "conversation" between two clients (for example, something like the messaging system on eBay) based on the exchange of simple text messages. If one of the clients is not connected, he has to be able to retrieve the messages received while he was offline.
I came across several tutorials and guides but most of them explain how to create a real time "chat room" which is not what I'm looking for.
I would like to have some suggestions on what would be the best path to follow (JMS, WebSocket...) and why.
Thanks in advance!

How safe is DirectLine?

I have seen a number of posts where developers want to have their clients talk to their Bot directly without using DirectLine, or alternatively emulate DirectLine within their intranet. The most common reason is that their companies are not cloud-ready.
Instead of asking HOW, I want to ask for more information about DirectLine that I can present back to my technology committee. How is direct line secured? How are messages encrypted? Are messages logged anywhere? Are messages retained anywhere at rest?
Can someone point me to a good source of this type of information?

chat search schema design

I have to design a chat search capability on my chat software. The chat software allows the user to talk to users/channels inside the same company. I want to build a chat search functionality for users to whom he had chats or channels to which he is a member.
I am aware of ElasticSearch which is good for doing some global searches (irrespective of user's context) but in chat application the search is always limited to chats of the user who is performing the search. That is, if I am searching for 'hello' no need to search for all the 'hello' sent by other users or to channels to which I am not a member.
Can someone suggest some docs/reference/technologies to be used to power this feature? Also what might be the possible schema design so that it is very fast.

Integrating Microsoft teams into my windows application

I have a desktop app to which I want to integrate Microsoft Teams.
Does Teams provides an API for the integration.I read few articles but they all explained how to create apps in Teams and use of Microsoft Graph API to get information about Teams/channel etc.
Could someone help me with this, if they had any solution.
few of my finding on the internet:
https://blog.thoughtstuff.co.uk/2017/04/microsoft-actively-working-on-a-teams-api/
https://developer.microsoft.com/en-us/graph/graph-explorer#
https://microsoftteams.uservoice.com/forums/555103-public/suggestions/16972258-developer-api-to-read-create-teams-and-channels-in?page=2&per_page=20
There are two distinct ways of accomplishing this:
Using the Microsoft Graph API to create/read/write information. Currently the only thing we support is the ability to add a team to an existing Office 365 Group, the ability to create and read channels within a Team, and to post a message to a team/channel. We are adding more APIs, including the ability to read messages from a channel, but it's not available yet (and we don't have a public ETA). The ability to read and write channel messages from a channel should allow you do what you want.
Controls that you can embed in an application that read/write the data for you. That's a common developer request and we will deliver that eventually, but it's further out.

Recommendation On Data Store For Website's User Activity Log

I am looking for some recommendations on a good data store for activity feeds. The goal is to have a Twitter/Facebook type feed log consisting of various activities users can do throughout our website. The "wall" or "feed" would updated via AJAX showing what the users of the website are currently doing. It will be written to often and then the most recent will be displayed on the site.
(e.g. John Smith recommended Jane Smith's article 2 seconds ago)
We currently are storing the feeds in MySQL but performance has been poor and I'm concerned with hindering performance throughout the rest of the website if we are constantly hitting the database to grab the most recent user activity as well as writing the feeds.
Any recommendations would be greatly appreciated!
Make use of the best caching solutions like memcache to increase performance. Other than scaling, there are no performance-increasing possibilities for an activity feed.
I would vote for using http://redis.io/ or http://www.mongodb.org/ as an alternative to MySQL for short-term, almost live activity feeds across a site. And a cron job to dump history of activities into MySQL for record keeping.
A look at tumblr's or twitters architectures can push you to the right direction as well.
You should take the microservices approach to separate between the datastore that stores the users' actions to the one that store the actual data.
Pub/Sub is the right approach to handle the big stream of users' actions.
Use Kafka or Google Pub/Sub cloud service for a scalable data pipeline. They can take the load with its scalable architecture.
Independently consume the messages from Kafka to some database such as MySQL or Google BigQuery for analytics purposes you must have.

Resources