tmoon8730 / jawapp Goto Github PK
View Code? Open in Web Editor NEWA super simple and minimalistic instant messaging system
A super simple and minimalistic instant messaging system
This is a feature that is present in Google Hangouts and not really any other IM clients that I am aware of. Basically, there is a small indicator on a message that is the last message read by each user. Currently, this feature is in development in the JawWeb project and the database schema has been developed. Below is a snapshot of the scheme for the /currentUsers
database point.
{
"User 1" : {
"lastMsgKey" : "-KjJTC0bOY6TWP0W54kE",
"name" : "User 1",
"photoUrl" : "/images/profile_placeholder.png"
},
"User 2" : {
"lastMsgKey" : "-KjL4aYTEFVQPCKaL1Sm",
"name" : "User 2",
"photoUrl" : "/images/profile_placeholder.png",
"present" : true
},
"User 3" : {
"lastMsgKey" : "-KjL4aYTEFVQPCKaL1Sm",
"name" : "User 3r",
"photoUrl" : "/images/profile_placeholder.png",
"present" : true
}
}
The lastMsgKey
matches the ID of the last message read by the user with the display name name
. The present
flag is set when a user is to true when connected and set to false when disconnected.
For the Android app there needs to be three things:
lastMsgKey
for a user when messages are readpresent
flag on connect and disconnectsIt would be interesting if we could display videos directly in the chat instead of having to open the link like most other instant messaging clients.
We need a way of encrypting the text data stored in Firebase. It would be ideal to have a centralized way of doing this across all the platforms (at this time JawWeb and JawAndroid).
AES-256 algorithms seem to be the most popular these days so that may be a good algorithm to use.
Tasks:
Research specific algorithm to implement
Determine method of generating keys / initial vectors in a common method across platforms
Implement encryption method on JawAndroid
Implement encryption method on JawWeb
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.