Professional Documents
Culture Documents
Please imitate the reference site plur k.com as much as possible in feature layout, unless the current structure is obviously not user friendly or requires improvement.
I will need the winning bidder to place an expert guarantee which will serve as a guarantee by you that I will get the work done exactly according to our agreed terms. It will become a penalty against you if the product is not delivered fully in compliance with the requirements in this document. This means all features, functionalities, technical elements and time frame must be met or you will not only be denied the agreed fee, but also lose the penalty money you have placed in compensation for my time and option to choose other bidders wasted by your unsatisfactory delivery). Do NOT bid if you cannot fully commit to these requirements because you will end up empty-handed and your time will end up in vain.
1 of 12
Version History
Version 1.1 Document Type Draft for review by customer Created/Updated By
2 of 12
Table of Contents
Introduction
3 of 12
This application is designed to provide the users a web-based collaborative and social networking tool using instant-messaging technologies provided by MSN, Yahoo, Google Gtalk etc. Any user can stay connected with his friends, family and co-workers and share your life. This application provides an amalgamation of Play n Work concept on web. This application also allows the user to display whats up in life and follow other peoples life by sending and receiving messages on the web. This document provides the functional as well as technical details of this application.
Audience
This document is intended for the customer and developer organization to understand the system both functionally as well as technically. Also, it may be used to develop the user training content.
Functional features
Below is the list of features the application will support. Each major functionality will be explained in detail in the following sections. Feature ID F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Feature Home Page User Sign up User Sign Out User Login Forgot Password Display Recently joined users Display Users the most Brief Description As soon as the user types the URL of the website, the home page is displayed. All users will register themselves with the application using this feature User log out feature User will have to login to use the functionality of the application Users will be reminded of their passwords, if they use this feature Recently signed up users will be displayed on the home page
Senior List of most active users will be displayed on the home page Based on the email account of the user, get the list of friends. Friends User can invite his/her friends to join the website in a single click. User can update his/her profile anytime after registration/login. This includes layout, color combination and theme of your personal interface Various alerts are sent/received whenever an event
F11
Alerts
4 of 12
like, friend accepting the invite, etc happen in the system. However if a add-friend request is declined, the declined person will NOT be alerted. F12 Chat window page highlighting the current user chat messages Auto-login to any instant messaging Sending private messages to friends Complete web-based instant messaging tool
F13 F14
Automatically login to any instant messaging. Any user can send private messages to any other friends, and does not need the target user to accepts the invitation to privately chat. There are two options of private messaging: 1. viewable by all your friends; 2 viewable by one the persons whose user IDs you input in the viewable list.
F15
Internationalization (Different As soon as the user changes his/her language languages) preference, the entire web site will be transformed to that language seamlessly. My Messages list Search messages Timeline of messages A list of expression words to choose from which will be used to start new one-liner messages A list of smiles to choose from which will be used to end one-liner messages The Karma system which shows the popularity of each member A number on the top right corner on each beginning message which indicates how many comments to that message have been posted by other members Add a member as friend/accept or deny a members request to add as a friend/ delete friendship Like says, wonders likes, dislikes, thinks, User can have his/her messages list shown separately. User can have multiple search options available to search messages.
F23
A friend automatically follows your messages, and can see your private messages (if he/she is in the viewable list you made when sending the private message) and make comments on them if he/she
5 of 12
relation F24 Be a fan of another member/stop being a fan of another member Search member Follow/stop following a members all new messages automatically Disable comments Mute
wants. A fan automatically follow your messages, but he/she cannot see your private messages, because your are not a friend Find members by search using keywords entered into a combination of search terms Even if you are not a friend or fan of somebody, you can click on this button to follow or stop following his/her new messages
F25 F26
F27 F28
This is a button on each message. If clicked on, you will no longer get alerts of new comments made on this particular message
F29 F30
Time stamp on the left side of It's 5:30 pm and . the message box Time on the timeline Because users are from all over the world, there will be different time zones involved. Should the display time be in sync with the time on users own computer? Change system language New message/new comments alerts These two alert links show new messages/new comments they have been written by your friends and people who you are a fan of since your last visit of the web site. When clicked on the view button besides each of them, the new messages/comments will be displayed. Show messages from people who meet terms you enter in a combination of criteria. These can be people who are not your friends, who you are not a fan of, or who you are not currently following. See show me plurks from.. www.plurk.com/browse in the reference site at
F31 F32
F33
Filter messages
Show all messages I have sent Displays users randomly selected by the system Displays top ten users by Karma in the reference site.
6 of 12
Make a member unable to view your profile, follow you, or respond to your messages or befriend you. This is clique in the reference site. Here you can 1 visit the members profile; 2 check out on his/her friends; 3 send private message to a member from here when you click on a message from him/her or a comment he/she has made; 4 block him/her 1 Account: Time zone change, time format change, password change, email change, language change 2 Privacy 3 Instant messaging
F40
My account
F41 Here throughout the document, the word message means a mini-blog by a member showing his/her activity or mood, in the form of one-liner messages starting with an expression chosen from a system list, like says, likes, dislikes, thinks, wonders and sometimes ending with a smiley chosen from a system list of smileys. The word comment means a response to a message which takes similar form as message.
Architectural Model
The application will be designed using typical J2EE n-tier architectural pattern. Presentation layer comprises of JSP pages, AJAX calls, Spring Form Tag library etc. and makes calls to business functionality through Spring Controllers. Business logic will be encapsulated in Business logic layer and all data access will be through Spring JDBC and Spring DAO frameworks. Model-View-Controller architecture is the underlying architectural model.
7 of 12
5 6 7 8 9 10 11 12 13 14 15
Jabber* Tigase 3.3.2* www.tigase.org JWChat* Apache Ant EasyMock 2.4 DBUnit Spring framework 2.5 Spring DAO Eclipse 3.4 IDE JDK 6 JUnit 4.4
An open, secure technology for instant messaging and a whole lot more Open source Jabber server implementation Jabber web chat client Build tool To generate mock data objects. To test the data access objects. Application framework Data access framework Development Environment Java development kit Unit testing framework
* May change later during development for better technology choice, if possible.
8 of 12
be installed on as many machines as needed. It can store data directly in MySQL and has built-in adapter for this database.
9 of 12
Country DateOfBirth Profession Relationship Photo Avatar LastLoginDate UserCreatedDate Table name: USER_FRIENDS Column UserID FriendID Followup_Status Friend_Status Table name:USER_MESSAGES Column UserID MessageId MessageTime ParentMessageId MessageDetail MessageType Table name:USER_GROUP Column UserID GroupID GroupName
BLOB
Timestamp Timestamp
Datatype Integer (FK to User_Info.UserId) Integer Timestamp Integer(FK to MessageId) Varchar(20) Varchar(20)
10 of 12
GroupStatus Table name: USER_BLOCKEDUSERS Column UserID Blocked_UserID BlockedAt BlockedReason Table name: USER_ALERTS Column UserID AlertType AlertText AlertCreatedAt AlertGeneratedBy
Varchar(1)
Internationalization
The language preference is configurable through resource bundles. Various resource bundles will be configured for different languages through property files. This application will support the following languages. English Spanish Chinese Japanese Note: The customer must provide the verbiage for all languages other than English. More languages will be added based on the verbiage provided by the customer.
Deployment Model
Entire application will be deployed on Tomcat 6.0.16 server with Apache Web server as the web front end server. Both are open-source servers and the installation will be done by the developer organization. MySQL database will be generated by the scripts provided by
System Design Document 11 of 12
the team. Also the team will provide the build scripts that will build, test and deploy the application on the production environment. Apache Ant 1.7.0 will be used to develop the build scripts. As the user community increases, we can load balance the user requests using apache mod-jk software load balancer configuration and it is again open source. Initially, Jabber server will be installed on the same box as Apache tomcat, but later can be moved to a separate box, depending on the load.
Our team will provide the post-production support for 6 months, starting from the date the application goes live. If there are any functionality changes before/ after the production, our team will not be bound to this contract and would need a separate contract. Our team can be contacted only through Gtalk IM messenger. 10 Testing & Debugging Below listed types of techniques (except unit testing) will be performed on each development, QA and Production box.
1.6 Logging
All system critical events will be logged using Log4j logging framework. Various priority level messages will be logged and can later be used for debugging in case of issues. Also, with the user guide, we provide you a list of possible issues and solutions for easier troubleshooting at a later time.
12 of 12