Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Distributed Social Network
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
=431 Project= ==Distributed Social Network== ==Group: Three Way Handshake=== Richard Gerdes Sangini Shah Corey Wu ==About== This project is for a distributed social network build around the Moses Middleware. For more information on Moses and LGI, see http://www.moses.rutgers.edu. ==Network Components== Controller (1+) - host for Moses Controllers Directory - LGI agent that stores a list of registered peers and their public information (name, username, controller, etc) Client - user interface for the network. Stores personal information, Photos, Albums, Friends list, ==Connecting to the network== Launch the client class with the hostname and port of the desired controller On launch of the client, the user will be asked for a username and password. > If first login, these will be saved as the user credentials > Client will join desired controller using the username and password specified > If the password is incorrect, user is prompted again User can enter commands detailed below to interact with the network. ==Commands=== ===Profile Attributes=== set <private|public> <name> - sets a particular attribute of the users profile identified by <name> to <public|private> add <name> <value> - adds a new attribute to the users profile identified by <name> with the value <value> - if entry exists its gets over written update <name> <value> - updated attribute of users profile identified by <name> with value <value> - if entry does not exist, it gets added remove <name> - clears attribute of users profile identified by <name> - if <name> does not exist, nothing happens. request <identity> <name> - requests from <identity> the profile attribute <name> - if user is blocked by <identity>, no response is given - if attribute does not exist in the profile of <identity>, no response is given - if the attribute <name> is private on the profile of <identity>, and sender is not approved, no response is given - otherwise, the user receives the given piece of information. ===Directory Access== directory <list|unlist> <name> - <lists|unlists> the attribute identified by <name> from all directories that the user has joined directory search <criteria> - makes a request to directory located at the address <name> for users meetings the criteria specified in the json strings <criteria> ===Friendship and Access Control=== friend <identity> - send a friend request to <identity> - add <identity> to a waiting list so no more messages can be sent to them until an accept or reject is received approve <identity> - add <identity> to the list of users who can access private content - effective accept of friend request - forward approve message to <identity> reject <identity> - reject <identity>'s friend request - forward reject message to <identity> revoke <identity> - remove <identity> from the list of users who can access private content block <identity> - block all requests from <identity> unblock <identity> - remove block on requests from <identity> ===Converse=== message <identity> <value> - send the message <value> to <identity> - if <identity> has blocked the sender, message is not delivered