Find Jobs
Hire Freelancers

Create a standard API for Bebo social network based on abstract method definition

$500-1000 USD

Cancelled
Posted over 15 years ago

$500-1000 USD

Paid on delivery
Attached is an abstract class in C#, .NET framework 3.5, in addition to a couple of supplementary class objects. We need this class to be implemented as a specific Bebo social network provider class that implements functionality for all of the methods laid out in the abstract class. In addition, we would like a test bed project to be attached so that the provider can be tested out with Bebo. Note that we already have this implemented as a different project for Facebook. We can provide the project that details the implementation to the winning bidder to speed up the work. Since Bebo mostly uses Facebook API's, that should provide a solid base for the implementation. ## Deliverables using [login to view URL]; namespace [login to view URL] { ? abstract class RBSocialNetworkProvider ? { ? private readonly string _sessionId; ? private string _socialNetworkCode; ? /*TODO: establish all of the other properties necessary for ? ? * communication with the specific social network ? ? */ ? public string SessionId ? { ? ? get { return _sessionId; } ? } ? public RBSocialNetworkProvider(string sessionId) ? { ? ? _sessionId = sessionId; ? ? /*TODO: set _socialNetworkCode to code default based on the provider ? ? ? */ ? } ? /* ? ? * This method returns a list of friends for the current social network user ? ? * it is a simple array of unique user id's of friends ? ? * of the logged in user (based on _sessionId) in the current social network ? ? */ ? public abstract string[] GetFriends(); ? /*TODO ? ? * ? ? * this method returns the social nework context of the currently logged in user, based on session id ? ? * ? ? */ ? public abstract string GetUid(); ? /*TODO: ? ? * This method returns a SocialNetworkUser object for the currently logged on user ? ? * note that only unique user id and email are directly exposed, and the rest of the dmographics are loaded into ? ? * the demographics dictionary ? ? * ? ? * More deails on the makeup of SocialNetworkUser below. ? ? */ ? public abstract SocialNetworkUser GetInfo(); ? /* ? ? * TODO: ? ? * ? ? **/ ? public abstract SocialNetworkUser[] GetInfo(string[] uids); ? /*TODO: ? ? * This method returns a list of group id's for the social network of the currently ? ? * logged on user ? ? */ ? public abstract string[] GetGroups(); ? /*TODO: ? ? * ? ? * This method will return a singular SocialNetworkGroup object ? ? * based on group id. Limited to groups available to currently logged on user ? ? * ? ? */ ? public abstract SocialNetworkGroup GetGroupInfo(string groupId); ? /*TODO: ? ? * ? ? * similar to GetGroups method above, only with detail. ? ? * Limited to groups visible to the currently logged on user ? ? * ? ? */ ? public abstract SocialNetworkGroup[] GetGroupDetails(); ? /*TODO: ? ? * ? ? * return list of group member id's based on the group id, for the currently logged on member ? ? */ ? public abstract string[] GetGroupMembers(string groupId); ? /*TODO: ? ? * ? ? * send notification to the user within the social network framework. The notification at bare minimum must support formatted text and links ? ? */ ? public abstract void SendUserNotification(string notification, string[] uids); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: GetTemplateBundles ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// returns an array of bundle id's ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? public abstract string[] GetTemplateBundles(); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: RegisterTemplateBundle ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// accepts aparameters necessary to create a template bundle ? ? ? ? ? ? ? /// returns bundle id. ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// wrapper of Facebook method [login to view URL] ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <param name="oneLiners"></param> ? ? ? ? ? ? ? /// <param name="shorts"></param> ? ? ? ? ? ? ? /// <param name="fulls"></param> ? ? ? ? ? ? ? /// <param name="links"></param> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? public abstract string RegisterTemplateBundle(List<string> oneLineStoryTemplates, List<FeedTemplate> shortStoryTemplates, FeedTemplate fullStoryTemplate, List<ActionLink> action_links); ? ? ? ? ? ? ? public abstract string RegisterTemplateBundle(TemplateBundle bundle); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: GetBundleDetails ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// returns XML document definition of the bundle ? ? ? ? ? ? ? /// wrapper of Facebook method [login to view URL] ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <param name="bundleId"></param> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? public abstract TemplateBundle GetBundleDetails(string bundleId); ? ? ? ? ? ? ? public abstract void DeactivateTemplateBundleById(string bundleId); ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// TODO: PublishUserAction ? ? ? ? ? ? ? /// ? ? ? ? ? ? ? /// wrapper of facebook pethod publish_user_action ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? /// <param name="templateBundleId"></param> ? ? ? ? ? ? ? /// <param name="templateData"></param> ? ? ? ? ? ? ? /// <param name="target_ids"></param> ? ? ? ? ? ? ? /// <param name="body"></param> ? ? ? ? ? ? ? /// <param name="story_size"></param> ? ? ? ? ? ? ? /// <returns></returns> ? ? ? ? ? ? ? public abstract string PublishUserAction(string templateBundleId, Dictionary<string, string> templateData, string[] target_ids, string body, PublishedStorySize story_size); ? } ? public class SocialNetworkUser ? { ? private StringDictionary _demographics; ? private readonly string _userId; ? private readonly string _email; ? private readonly string _socialNetworkCode; ? public StringDictionary Demographics ? { ? ? get { return _demographics; } ? } ? public string UserId ? { ? ? get { return _userId; } ? } ? public string Email ? { ? ? get { return _email; } ? } ? public string SocialNetworkCode ? { ? ? get { return _socialNetworkCode; } ? } ? public SocialNetworkUser(string socialNetworkCode,string userId,string email) ? { ? ? _socialNetworkCode = socialNetworkCode; ? ? _userId = userId; ? ? _email = email; ? ? _demographics=new StringDictionary(); ? } ? public void AddDemographic(string key,string value) ? { ? ? if(![login to view URL](key)) ? ? ? [login to view URL](key,value); ? ? ? } ? public void SetDemographics(StringDictionary demogrpaphics) ? { ? ? _demographics = demogrpaphics; ? } ? } ? public class SocialNetworkGroup ? { ? private readonly string _groupId; ? private readonly string _groupName; ? private readonly string _groupDesc; ? private readonly string _groupType; ? private readonly string _groupSubType; ? #region Properties ? public string GroupId ? { ? ? get { return _groupId; } ? } ? public string GroupName ? { ? ? get { return _groupName; } ? } ? public string GroupDesc ? { ? ? get { return _groupDesc; } ? } ? public string GroupType ? { ? ? get { return _groupType; } ? } ? public string GroupSubType ? { ? ? get { return _groupSubType; } ? } ? #endregion ? public SocialNetworkGroup(string groupId,string groupName,string groupDesc,string groupType,string groupSubType) ? { ? ? _groupId = groupId; ? ? _groupName = groupName; ? ? _groupDesc = groupDesc; ? ? _groupType = groupType; ? ? _groupSubType = groupSubType; ? } ? } ? /// <summary> ? ? ? /// Contains the different parts of a Facebook feed template. ? ? ? /// </summary> ? ? ? public class FeedTemplate ? ? ? { ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// The title of the template ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? public string TemplateTitle { get; set; } ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// The body of the template. ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? public string TemplateBody { get; set; } ? ? ? ? ? ? ? /// <summary> ? ? ? ? ? ? ? /// The preferred layout for the template. ? ? ? ? ? ? ? /// </summary> ? ? ? ? ? ? ? public string PreferredLayout { get; set; } ? ? ? } ? ? ? public class TemplateBundle ? ? ? { ? ? ? ? ? ? ? public List<string> OneLineStoryTemplates { get; set; } ? ? ? ? ? ? ? public List<FeedTemplate> ShortStoryTemplates { get; set; } ? ? ? ? ? ? ? public FeedTemplate FullStoryTemplate { get; set; } ? ? ? ? ? ? ? public List<ActionLink> ActionLinks { get; set; } ? ? ? } ? ? ? public class ActionLink ? ? ? { ? ? ? ? ? ? ? public string Text { get; set; } ? ? ? ? ? ? ? public string Href { get; set; } ? ? ? } ? ? ? public enum PublishedStorySize ? ? ? { ? ? ? ? ? ? ? OneLine = 1, ? ? ? ? ? ? ? Short = 2, ? ? ? ? ? ? ? Full = 4 ? ? ? } }
Project ID: 3443117

About the project

4 proposals
Remote project
Active 15 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
4 freelancers are bidding on average $691 USD for this job
User Avatar
See private message.
$850 USD in 21 days
2.4 (7 reviews)
6.2
6.2
User Avatar
See private message.
$595 USD in 21 days
0.0 (1 review)
0.0
0.0
User Avatar
See private message.
$765 USD in 21 days
0.0 (1 review)
0.0
0.0
User Avatar
See private message.
$552.50 USD in 21 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED STATES
United States
5.0
68
Payment method verified
Member since Sep 25, 2003

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.