Skip to content

barriem/spam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Spam

An Instant Messaging application server written leveraging Actors

###Goals

######Offline messaging

Instant messaging server which works on the Actor level. A User is represented by an Actor, and once registered will always remain live in the system. The User will, in this way, always be "online" and available to recieve messages.

######User search

Given Users are always online, you will also be able to search for existing Users in a directory lookup mechanism.

######Multi Client

N number of Client Actors can connect simultaneously to said User Actor to be replayed previous messages and receive real-time incoming messages.
They can then also initiate messages to other Users.

######Preserved history

History will be local to each Actor, and serialised to disk. History can be replayed for any date range for any particular User, or searched for specific details. It will be stored in an encoded format so it's not readily searchable by anyone other than the connecting Client.

######Scheduled messaging

You can pre-program some messages to occur at certain times. For example "Tell Dave at 11am tomorrow to bring me my Sandwich" - this will generate a scheduled message to be delivered to Dave's User Actor at 11am.

######Broadcast

Given the nature of the technology you could also allow Users to change their handles, and have this change broadcast to all current connect Clients who care about this User.

######Profiles

One powerful feature is to give each Client a "profile". In this way you could associate certain Users with certain profiles - so that messages from "Dave" would only ever goto your "work" or "mobile" profile(s). This gives a way to route messages only to certain devices, as well as group conversations logically. Profiles can also be time bound - for instance "only receive messages to this device after 5:30pm on weekdays and on weekends"

###Running Spam

To run and test it use SBT invoke: 'sbt run'

About

Instant messaging server written using Actors

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages