I am taking this project as a part of my BIS (Business Information System) Degree that is under taken by Greenwich University. The goal of this project is to design and develop a Social networking Site to enable the users to share their daily activities with their friends. The system has a lot of facilities which will be very much helpful for the users to communicate with each other with an efficient and more frequent manner. By using the system the user will get a very comfortable and relaxed environment. The user will be able to share his/her current status to the wall, make friendship with other users of the system, send private messages to users of the system, and will enjoy all the other functionality that a social site should have.
There will be some additional functionality besides the traditional functionalities that a social site provides. The user will receive all his/her social sites feed/notification from here centrally and he/she can update all his/her social sites wall/status at once from this site. So the user does not need to login to each of his/her social accounts in order to updating the current status.
I will use here php as the base programming language and a framework/cms of php called drupal for the development of the application. I will also use flash, actionscript, amfphp, css, html, ajax and tons of other supporting technologies. I will use mysql as the database system. For the accomplishing of the analysis part for this application I decide to use UML toolset.
Social networking sites have become an integral part of our life. Social network sites are increasingly attracting the attention of users. I will show features of Social network sites and propose a comprehensive definition throughout my project. I am going to develop the project "Integration of social Sites" using Object Oriented Software Development concept. It is unique in nature and most of the data are unstructured and semi structured. So the system model, analysis and design specification is constructed by using UML (Unified Modeling Language) for the proposed system.
The project I have undertaken as a part of my BIS (Business Information System) Degree that is under taken by Greenwich University. It will be an integration of commonly used social sites so that all the users of the system can enjoy all the flavors of all the social sites centrally.
I would like to thank Greenwich University for accepting my project proposal. I believe that this project will help me to increase my leanings that I received from my courses, and I think ,with the ongoing project I can eliminate my shortcomings that I am bearing with me. This project is going to be a great opportunity for me which will make me more confident to work in the corporate world without any hesitation.
I would like to thank, The tuition provider here in Bangladesh, "Daffodil Institute of IT" for giving me such environment to carry out my project and all necessary resources that is a must requirement for my project research.
Moreover, I would also like to thank my project supervisor Mr. Sarwar Hossine and my cource coordinator Mr. Shamsuddin Ahmed for giving all their valuable times and patience that he they spent for enhancing all aspects of my project.
Finally, I would like to thank The most Gracious and Merciful Allah to give me such patience to handle my project.
Over the last few years, social networking websites such as Facebook and Twitter have exploded in the popularity, especially among teenagers and children. Facebook,twitter, Myspace, and other sites have plentiful benefits for their own users in terms of talking and interacting with other people, but also provide widespread privacy and safety features. All these applications keep all the users data secured. For example, Facebook does not allow people to view other users profiles unless they are friends, which needs both people to confirm their relationship status. Even this is possible to limit what sections of a users profile are visible to his/her friends, which friends can see it and/or (for the especially suspicious) to make the users profile completely invisible to everyone to the application.
Social Networks are platforms which enabling online communication between users may be from Different Countries throughout the world. This social Network creates a web of connections between individual users that shares something for frequent such as shared contacts, interests, beliefs, place of work, location etc. In the last few years have seen a striking increase in the embracing of Social Networks by users across the world. Some of the more admired sites embrace Facebook, Bebo, Myspace,twitter Hi5, Orkut etc. Advertising is the traditional commerce model behind Social Networking applications. Now a days more and more organizations are taking up Social Networking to upgrade knowledge enable and pool sharing of information among people. The following chart shows the visitor analysis graph of different popular social sites.
Take a deep look in social networking sites
In the new era of modern Information Technology social networks become a crucial medium of relationship among human beings. Online social networks are webs of relationships that grow from computer mediated discussion. The webs grow from conversations among people who share a common affinity. It also has several business benefits like links, mindshare and branding, sales, customer interaction. Popularity of social networks like Myspace and Facebook is get booming day by day. After having a deep look at the social sites along with their popularity I decided to build a social site which will provide all the traditional functionalities that a social application should provide like making friends, communicate with friends, send private message, comment over friends status etc. Besides these a plan to have some extra cool features in my community sites was made. These will be described later in this section. Now we are going to have a deep look in traditional social networking sites. In the following section it will be described that what a social site is, its objectives, how it is grown and ofcurse the functionalities of some most popular social sites.
What is social networking?
In both professional and personal life, human beings naturally form groups based on similarities and expertise. We settle to others with whom we share interests. Not unexpectedly, these networks are getting rapidly migrated to the online world. Online social networking applications has been around in different forms for nearly a decade, and has begun to complete wide notice in the last few years. Online social applications take many forms, and are developed for many reasons. Despite their differences, online social applications do, however, commonly demonstrate a number of the following concepts. These are as follows
Profiles - Each of the members of an application has a profile that serves as the individual's identification in the application. In the experts context, profiles often contain information concerning the individual's knowledge, education, affiliations and interests, as well Information regarding the individual's skills and possessions.
Status - Each member of the application has a status for a particular time. In different application the name of status differs according to its needs. For facebook, the status is described as wall. The user can post something to his status/wall and also in some application (like facebook, twitter) friends are also allowed to post something in the status.
Connections - Online social networks typically enable individuals to make connections with others in the network. In some cases, these connections are implicit, and derived from past actions (such as sending an email to another member of the network). In other cases, the connections are explicit, and are set up and created by the members themselves. Deceptively simple, online social applications have great power. They change the online space from one of static web pages and stale advertising messages to a live, exciting network of connected persons who share their abilities, interests and expertise.
Social networking applications can be used in following way
Share knowledge between Individuals
By connecting social network with basic subscription technologies such as RSS(Really Simple Syndication), a person can easily "subscribe" and "desubscribe" to updates from colleagues, friends and customers. This enables a straightforward method of staying alongside each other of the goings-on in projects of attention, as well as a way to share awareness within an organization without paying some additional effort. It also addresses some issues of email overload, as knowledge is pulled by those who have a interest or need for updates.
Customer and Member Relationship Development
Customer contentment is at an all-time short, perhaps as a product of the reduced business focus over actual relationships. Online social applications allow a prospective member or prospective customer to easily facilitate a real and human level connection with individual users within an organization. This enables actual business relationships to form and puts a valid human face on the interaction, changing the outdoor perception of an organization from a sterilized.
Customer support (connecting the customer with the accurate resource)
Successful customer support achieves a number of goals. This is another form of social application. Basic customer service contains, of course, assisting customers when they have some problems or questions about any organization's products. However, online application enables exceptional customer support that goes away from the basics, allowing customers to connect with experts in an organization who have a deep knowledge in a particular area. Similarly, a strong online network enables experts within an organization get alerts when a problem that requires their knowledge that comes into the customer support queue, and facilitates the creation of the strong communities in the form of valuable user member and groups networks.
Supercharge meeting facilitation and preparation
The unfortunate part of meetings and conferences is that it always seems that one don't connect with the people when one truly want to meet until the final second of the event. A dedicated online social application is created before the event enables attendees to use their time at the event more efficiently, by determining with whom they want to connect with before leaving home. It's the greatest way of connecting members of the organization with a defined time and all are pleased with it that no one is going to miss the meeting if there is no problem occurs.
From The above discussion it can be said that social network is the only greatest way of communicating with individuals those may be home user or may be a employee working in a big organization. Whatever it takes one can connect with others and can share their views with the help of a social networking site. It will be very much helpful for a user if all the social network is integrated and I am sure all of the user is going to take the advantage of the integrated site so that they don't need to open all of their accounts and can get updated with a single site.
Review of some other popular social sites features:
Introduction: During the past year, social networking has really taken off globally. Literally hundreds of millions of people around the world are visiting social networking sites each month and many are doing so on a daily basis. It would appear that social networking is not a fad but rather an activity that is being woven into the very fabric of the global Internet. More and more people are and will discover online social networking over time. Since January 2004, the number of people visiting or taking part in one of the top online social networks has grown by over 109% (primarily driven by MySpace and Facebook). Most of this growth has come about in the past 12 months. In the following section a small statistical analysis about some most popular social sites of the current world will be described.
Quick Analysis: Facebook is one of the most popular social networks of the current world. The hot talked group Facebook has the highest growth rate according to the stastical report above. The widget platform, which launched at summer 2007 has had strong growth of more than 13,000 applications have been launched with its container. Facebook is more of a 'lifestyle' participation that allows application members to connect with each other. It is admired to the young generation mostly.
- More than 400 million active users
- 50% of our active users log on to Facebook in any given day
- More than 35 million users update their status each day
- More than 60 million status updates posted each day
- More than 3 billion photos uploaded to the site each month
- More than 5 billion pieces of content (web links, news stories, blog posts, notes, photo albums, etc.) shared each week
- More than 3.5 million events created each month
- More than 3 million active Pages on Facebook
- More than 1.5 million local businesses have active Pages on Facebook
- More than 20 million people become fans of Pages each day
- Pages have created more than 5.3 billion fans
- This is No. 1 photo sharing application on the Web
- It has More than 14 million photos uploaded daily
- It has almost 6 million active user groups on the application
- There are more than 100 million active users currently accessing Facebook through their mobile devices.
- People that use Facebook on their mobile devices are twice more active on Facebook than non-mobile users.
- There are more than 200 mobile operators in 60 countries working to deploy and promote Facebook mobile products
- More than 70 translations available on the site
- About 70% of Facebook users are outside the United States
- Over 300,000 users helped translate the site through the translations application
- It is the Sixth-most trafficked site in the United States
- It has More than 65 billion page views per month
- It has More than half of active users return daily
Myspace: MySpace became the most popular social networking site in the United States in June 2006.
According to comScore, MySpace was overtaken internationally by its main competitor, Facebook, in April 2008, based on monthly unique visitors. The 100 millionth account was created on August 9, 2006, in the Netherlands.
Some most exciting features of myspace are:
- MySpaceTV (Video)
- MySpace Mobile
- MySpace News
- MySpace Classifieds
- MySpace Karaoke
- MySpace Polls
Quick Analysis: MySpace the largest Social Networking application in North America maintains a dominant location as media site, primarily aimed at young generation, giving them the opportunity to relate to bands and brands, as well as self-express. This site will continue to do with advertisers and marketers
- over 185 Million Registered Users in the applicatin
- 50.2% of them are Female and 49.8% of them are Male
- Primary Age range is: 14 - 34
- Over the past 5 months, had among 39 and 45 Billion page views in every month in this application.
- This is the second largest site was Yahoo around 35 Billion. Google, Ebay, MSN and Facebook are all way following with under 15 Billion.
- 350,000 new registrations in every day.
- About one Billion of total images on the site,
- Millions of new photos are coming per day
- About 25 Million Songs, 142 Terabytes of space for these and, 250,000 concurrent streams in this application.
- 4.5 Million people are visited on site on any time.
- 70,000 megabits per seconds of bandwith (I run over 20 sites, some measured "large" and I don't go above 2 mb/s
- 250 db servers
- 6000 web servers
- 650 ad servers
- 7 Datacenters
Twitter: Twitter is one of the fastest growing community applications of the world. It has launched the follower/following relationship instead of traditional friendship. All users of the application can send/receive messages (tweets) via the Twitter application, Short Message Service (SMS), or some external applications.
Twitter.com received some 23,500,000 visitors. This puts the US market at around one- third of the Twitter user base.
While the service itself costs nothing to use, accessing it through SMS may incur phone service provide fees.
The website currently has more than 100 million active users worldwide
Youtube: It is basically a video sharing site. The users of youtube can post video feeds, they can make relationships and so on.
Total videos uploaded as of March 17th 2008: 78.3 Million
Videos uploaded per day: over 200,000
YouTube had 330 MILLION VISITORS watching YouTube videos for the month of AUGUST 2008
Upload statistics of youtube.com
Category statistics of youtube.com
People & Blogs: 14.2%
Conclusion: There are thousands of social sites over the web. Here are a only few of them. In almost all the social applications the community building part are same. After researching over these applications some smart idea for the community application are gathered. These will be used some in the social application.
INTRODUCTION: For the good accomplishment of the project it is needed to analysis the current project first and then I need to find out some common features of existing social sites. All the most common social sites like facebook, twitter, youtube etc are reviewed and I tried to find out some week points of these social sites.
This Analysis can help one to determine if a project -
- is technically feasible,
- is feasible within the estimated cost,
- Can be accomplished
- Make sense
This Analysis can be considered as an integrated compilation of sub studies that demonstrates the workability of a project. It Address the issue whether the project objectives can be really achieved.
PROBLEM OF CURRENT SOCIAL NERWORKING SYSTEMS
There are a lot of problems as founded after investigation of social networking system. This problems are classified into categories according to users, those are - general problems, operational level problems, and strategic level problems. In bellow I described those categories in details. Some problems that are found are shown as follows-
All the feeds are not available into a single account. For example if a user has an account in each of facebook, twitter, myspace, youtube, hi5 and digg the user needs to login each application for getting information about my profile and also my friends status. This is a big problem. If there is a facility where the user will receive all his/her social accounts notification centrally, the user does not need to visit each of the application that he has an account with.
In the other hand it is also not possible with the current applications to post a status message in all my social accounts together. For example a user has account with 10 social applications and I need to update my status in all the accounts. In traditional approach, the user needs to log in each application separately and then update all the accounts status one after another. It is a big problem for the users of a system. If there is a system where a user updates his/her status centrally and then the application itself updates all the status of the users all other accounts on behalf of the user, it will be a great service.
Technical Analysis: For the development of the application I must select some technologies which will be suitable for creating the application. For example a base language, a database management system, some supporting tools etc should be choosen before the development process.
For the base language I choose the php5 scripting language and for the dbms, its mysql5. All the other technologies that will be used in the development are shown as follows-
PHP5 as the base scripting language
Drupal as the cms/framework part for the application
Adobe flash for some view part
Actionscript scripting language for working with flash components with some action
AMFPHP for integrating with the server side drupal/php/mysql with actionscript/flash part.
PHP-template as the template engine for the drupal template generation.
Why I choose php/drupal
There are some reasons behind the choosing of drupal. Drupal is an opensource CMS of php language and it provides some standard open source module for supporting the development which enables the development to be finished in short time. Some reasons behind the choosing of drupal framework/cms are shown as follows-
It is an open source cms of php.
It is not only a cms, it is a framework and provides framework functionalities like any other most popular frameworks like rails (for ruby language), codeigniter and cakephp (for php language).
It follows the MVC pattern of development which is the mostly used pattern in todays development.
There are tons of opensource modules of drupal available over internet and they are also well documented.
Drupal is well documented and all the documents are managed centrally in the same domain. And also the api of drupal is well documented. So if I need any specific queries for the drupal api I can get them from http://www.api.drupal.org. The drupal forum is also a good resource for drupal development.
Some opensource modules that comes along with the standard drupal installation that is used into the application are-
User: For managing the users signup, login functionalities for the application.
Search: for enabling the site users to search for content.
Upload: for enabling the site users upload things such as images.
Used opensource modules
Some opensource modules of drupal that come along with standard package of drupal and also some 3rd party opensource modules of drupal will be used into this application for carrying out some specific functionality. The open source modules are listed as follows-
Logintobaggan: for managing the login, redirect after login, logout functionality
123FlashChat for providing chat functionality for the site users.
AuthorPane: for showing author/user information in a nice block view. The authorpane module was customized for supporting with skype, yahoo messenger, googletalk, msn and mobile call functionality.
ActivityStream: for having updates from all the other social accounts like facebook, twitter etc. For supporting these social sites, I had to integrate some other modules along with the activitystream module such as activitystream_facebook, activitystream_youtube etc.
AdminMenu: This module only works for administration section of the application. This module is installed only for the development support as an administrator of the system so that the admin can manage the system well.
Avatar_selection: The default behavior of drupal is to not support for user picture. But there were photos available for user so that the user can choose an avater from the system instead of uploading one. This module enable a user to choose an avater from the avater choose section. The previous upload avatar also works with this.
Avatarcrop: This module is for cropping the avatar. If the user wants to crop the uploaded image and use a part of the image as his/her avatar, he may do it with the help of this module.
Captcha: This module provides the captcha functionality to check that the request is from a human rather than a machine request. So that spam will be reduced into the site. I have also installed the recaptcha module for refurnishing the captcha and enabling the audio captcha.
FlagFriend: for enabling site users to have friendship with other users of the application. I had to configure the module from the admin section so that it allows the registered members of the site to have relation like friendship with one another.
FacebookStyleStatus: this module will enable the site users to update their status/wall like facebook. They also can update some status to their friends profile with the help of this module.
FacebookStyleStatusComment: this module enables the site users to comment over a wall message over own profile or over friends profile.
These modules has to be configured so that they can work with each other and also for adopting some custom functionality which does not provided by the custom modules. For these reasons I had to create some custom modules and some custom hooks.
I had to create a custom block in the block section so that the user can see his/her profile information in a separate block. The authorpane module provides this functionality, but it does this only for the users page.
I also had to create a custom look/template for the author pane module to integrate the skype, gtalk, msn, mobile, yahooIM functionalities.
For integrating news functionality, Some complete custom modules were developed which reads all the topchart movies of the week and then communicates with a flash .swf file. The swf file then communicates with the server for reading the top movies data and then it displays the news with the news module. Adobe flash cs3 ide is used to product the swf file to integrate with the news module. For the action part the actionscript3 scripting language besides flash is used.
Some code snippets for these modules are available in the appendix - B
Conclusion: After finishing the analysis part for the system, some specific things were found that will integrated with the system and some opensource tools and techniques are also found that will help me in the development process.
Design: The design of the application includes the database design, entity relationship diagram, sequence diagram, use case diagram etc. It helps when developing the actual application.
Use case diagrams: The following use case diagrams and use case descriptions represents the whole system have to produce.
Usecase description for the system (coffeehouseadda.co.cc)
Level: Full system
Primary actor: Anonymous User/Registered User/Admin
Anonymous User: An anonymous user will be able to visit some functionalities of the site. He/she can register for an account into the site and can become a registered user of the site.
Registered User: A registered user can access every part of the application except the admin section. They required logging in into the site to get access of all parts of the application.
Admin: Admin can access all over the site. He/she can manage all the user accounts of the application, add some custom role, or change permission for users etc.
Main Success Scenarios:
- Users of the system will enter to the web application using a web browser.
- Users must register to use the service and functionality that are provided by coffeehouseadda.co.cc.
- Users will sign up by clicking on register link and providing some basic information about users as in the register page.
- Existing user may login into the application using their details.
- Users may make friends by searching friends from the website. For this one user must visit the users profile and send a friendship request.
- Users can access their message box from where they can send new messages to their friends and receive from their friends.
- Users may create their personal profile to view it to others in the coffeehouseadda.co.cc.
- Admin can manage users like activate or deactivate specific users, create user etc.
- User can provide his/her other social accounts id (such as facebook, twitter) to have new notifications updates from this application.
- Users can update all their accounts status from this application centrally.
Usecase diagram for getting all social feed: The user will receive all the feeds/notifications of all his/her social accounts.
Usecase description for getting all social feed
Scope: coffeehouseadda.co.cc Web Application
Level: User goal
Primary Actor: User
User: Registered users of the application who have provided their profile information appropriately, will receive all the notification from all his/her social accounts (like facebook, youtube, twitter).
Main Success Scenarios:
- Users open the web application with the help of a web browser.
- Go to user account page.
- Edit users account.
- Edit activity stream section of profile information
- Provide information of other social sites like (twitter name, digg username) etc.
- Visit my account page.
- New feed/notifications from all the other social accounts will be available from here centrally.
Usecase diagram for making friendship: All the registered users of the system may have friendship with other users of the system.
Usecase description for making friendship
Scope: coffeehouseadda.co.cc Web Application
Level: User goal
Primary Actor: User
User: Users of the system may visit other users profile and may send friendship request to them. If the requited user accepts the relation, they will be friend to each other.
Main Success Scenarios:
- Users open the web application with the help of a web browser.
- Users login to the site using their username/email and password.
- User search from other users and visit their profile.
- User sends friendship request.
- The requested user visit his/her profile and get notified for new requests
- If the requested user accepts the relation, they will be friend each other.
- It is also possible to deny a friendship request from a user.
- Users can also send a private message to their friends.
- Users may also leave a comment to their friend's wall.
Usecase diagram for social integration: The following usecase diagram describes how the system is integrated with other social applications.
Usecase description for update all social integration
Scope: coffeehouseadda.co.cc Web Application
Level: User goal
Primary Actor: User
User: The registered users of the system is integrated with all the other popular social sites like facebook, twitter. He/she will get all the notification from those accounts and also can post status their from this application centrally.
Main Success Scenarios:
- The user first logs into his/her account using his/her account details
- The user edit his/her profiles activity stream section for receiving feeds from all social accounts.
- The user visit the my account page.
- In the my account section, the user will receive all his/her other social accounts feed
- The user logs in with other sites connect application.
- The user updates all the social accounts status centrally.
The following use case diagram describe how a user updates all his/her other social accounts status together from this application.
Usecase description for update all social apps together:
Scope: coffeehouseadda.co.cc Web Application
Level: User goal
Primary Actor: User
User: Users of the system will connect the application with the specific social application like facebook or twitter and then update all the status from here together centrally.
Main Success Scenarios
- The users of the system logs into the application with their account information
- They connect with the connect application with for example facebook connect.
- After getting connected with all his/her accounts, he/she may update all his/her status together.
- Write something into the update text field
- The press the update status button for updating all the status.
- If the user is not log in into any site (connect) a message will be appeared call 'please login first'
Database Design (Database metadata):
Development of Coffeehouseadda.co.cc
Introduction: In the analysis section, it will be described about how the technologies will work. But while the development period, some tools are used for the accomplishing of the development. So in this part these opensource tools will be describes (tools should be used in the development period).
Tools that used in the development process
Some great tools were giving support while the development process. For the better code hinting, referencing, searching functionalities an intelligent IDE should be choosed and so on. Some tools that are used in the development are shown as follows-
Netbeans 6.7: As php/drupal is choosed as the base language for developing the application, an intelligent IDE that supports this specific language should be choosen. And netbeans ide is one of the bests in this purpose. It supports intelligent code hinting, reference, commenting, searching and lots more function. The official netbeans site is http://netbeans.org/
Adobe flash CS3: For the development of the swf application that is used in the news module, The cs3 version of adobe flash tool is used in this purpose. It is a great tool for compiling and building swfs. It supports Actionscript and it is also possible to design custom class in the design view from this tool. So this tool is choose for generating the flash/swf application for the news module. The official site for adobe flash is http://www.adobe.com/products/flash/
XAMPP server: As my application is a php based application, this application should be developed in a server that supports the php platform. Apache is the best for this purpose. So I choose XAMPP because it is a package that provides apache along with mysql5 and phpmyadmin which is a popular tool for designing database. The official site for XAMPP is http://www.apachefriends.org/en/xampp.html
StarUML: While documenting in the analysis part of the development process this tool help me much in generating UML diagrams such as use case diagrams, class diagram and sequence diagrams. The official site for StarUML is http://staruml.sourceforge.net/
Code: As Drupal framework is choosen for the development, all the code needs to be written with drupal convention. All the api related with drupal are available in http://www.api.drupal.org and all the opensource modules are available in http://www.drupal.org/project/modules
Some sample code snippet are given in the Appendix B
Conclusion: With the help of these tools and described open source modules/frameworks the development process is finished. Some code snippet of the developed application is described in the Appendix - B and some screenshots of the application are available in the Appendix - C.
Evaluation: The implementation of this project has a great response and was a reasonable success. Despite the implementation not fully meeting the requirements at this moment it does provide a lot of the required functionality. A lot has been learnt while developing the application, this project has lead to a better understanding of the uses of social application and social integration. There is a greater awareness of the integrated social application that is available at the moment.
The social application is launched online with the domain http://www.coffeehouseadda.co.cc . Currently is supports most of the features of a social site and more visitors are visiting the site now. This will be a great application among the all other social network applications.
Testing: All the functionalities of the application are checked and all of them are working well. All the links are checked and none of them are broken.
SN Test name Expected output Actual output Comment
- Link test All links should work.
- Login Test Should authenticate
- Register Save registered users data
- Validations All the validations (client side and server side) should work.
- Connect Apps Connect apps are should
- Send private
None of them should be
All links are working
appropriately with the
to the database and send
mail to users mail account
Saves registered users
data to the database
and send mail to users
All the validation rules
are working as
work appropriately and
login users to their
are working as
Should send private
message to users
messages as it was
Some screenshot of the developed web application are shown in the Appendix C.
Conclusion: After all, all the parts of this project is accomplished. All the parts of the application is working fine. A domain and 500 mb of hosting for launching the application was bought for hosting the social application. The web url for the application is http://www.coffeehouseadda.co.cc .I am very happy after successfully building such an application.
- Appress Drupal 6 - By John K. VanDyk ISBN13: 978-1-4302-0989-8
Purpose of the project
This is a social site like facebook or orkut. All the functionalities of a social site will be available in this site. But there will be also some extra feature which will make this application different from the rests. There are as follows-
There are lots of social sites over internet. Some of the most popular are facebook, orkut, myspace, twitter, hi5 etc. Now let's think of a user who got an account of each of these sites. So what he/she does to have updated news/feed of his/her account? He/she has to open all the sites (or application individually) for them and then get those status feeds/tweets etc. So it is very difficult for a user to check and manage status/feeds from all accounts (social sites). This project will enable those users to view all the recent feeds of the user from all the social sites that he has an account centrally. The user will log into his/her account and then manage his/her social accounts from the control panel (add/edit accounts). Then in his/her dashboard there will be a section for viewing all these status/tweets.
Another cool feature of the app is that, if the user wants to update his/her status of an account let's say the user has an account with facebook and he/she can update his/her facebook status with the application. So with the help of the application the user not only get all the status from all his/her social accounts, he/she can also manage/update his/her dashboard/feeds centrally.
Limitations and problems
Some limitations and problems on the current system are listed below.
- It is difficult to integrate all the apis of the existing social site with this site.
- It is difficult to update all social sites status centrally from this application if the social does not provide a friendly api for this purpose.
Appendix - A (Project Proposal)
Aim of the project
The aim of the project is to become a very popular social site among the users and the functionalities that will help on this aim are
- Social sites integration: All the social sites will be integrated with this site, so a user can centrally manage and share his/her updates.
- Custom layout: The user can choose his/her own layout for the dashboard and also can manage his/her graphical user interface (GUI).
- Online chat: Users of the system wi ll be able to
- Photo gallery: This wi ll enable a user make his/her own photo gallery in this site.
- Music Gallery: With this feature the user will be able to upload his/her favorite music and then they can play them with a music player there.
- Custom feed: There will also be a feed section which will work as an online feed reader. The user can read online feed with the help of this module.
- Others: Other facilities of a social application such as the making buddies, send message, updating status etc.
Methodology: There are several methodologies which can be used to comp lete any project. But personally I prefer the Unified Modeling Process (UMP) which is concerned as an introduction to object oriented analysis and design and iterative development. So I will use Unified Modeling Language (UML) to analyze the system. Objective oriented analysis provides more advantages. For this reason I choose this Unified Modeling Process (UMP).
There are some issues/skills that are required to build this application that I have no knowledge yet. I need to cover these skills for accomplishing this assignment. Some of them are shown as follows-
- Online chat server
- Api of existing social sites to integrate them with the application
- Feed management for the feed reader
To implement the application, it needs some software and hardware component installed on the organization. They are listed below.
Languages/Technologies: For building this application I need to use several languages. These are listed as follow-
- PHP5 as the base language which runs on apache web server.
- Drupal as the cms and framework for the application as drupal provides framework functionality in MVC pattern like any other rich frameworks (rails for ruby language)
- Flash/Actionscript 3: will be used to make custom components for flex and also for building the feed reader which will enable the users of the application to read any feed. And also a mp3 player will be prepared using this which will enable the users of the system to here his/her favorite musics.
- Amfphp: This will enable actionscript/ flash to connect with the database server. This will work as an active record layer for the application.
- Mysql: this will be used in this application as the dbms.
Some software will be needed to build this application. Some of them are shown as follows-
- Adobe flash professional cs3
- Netbeans 6.7
- Mysql server
- And some other related things.
For running this application, the things are needed are
- A server where the application will be hosted.
- A database server where all the data will be present for the application.
System development stage Start date End date
Initial study 20 Jan 2010 26 Jan 2010 6
Feasibility study 27 Jan 2010 31 Jan 2010 5
Requirement analysis 01 Feb 2010 08 Feb 2010 8
Requirement specification 09 Feb 2010 22 Feb 2010 14
System design 23 Feb 2010 05 Feb 2010 12
Program development 13 Feb 2010 13 April 2010 60
Testing 14 April 2010 20 April 2010 6
Implementation 21 April 2010 22nd
April 2010 2
Critical appraisal 23rd
April 2010 25th
April 2010 3