( Session 2010-2011 )
Submitted by :Sachita Agrawal Branch Computer Science ID 07EC050
DEPARTMENT OF CS
Practical training is an important part in the four-years B.Tech Degree. This training is very much useful for an engineering student. Through this, a student comes to know about the actual working environment of an organization, the relation between officers and their subordinates, the organizational value of any industry and many other things like, how people work together as a team and how they achieve mass production in any industry, in a prescribed time with quality. This training plays a vital role in the build-up of a successful engineer. I pursued my summer training from ARDENT COLLABORATIONS PVT. LTD, Kolkata. This training provides me a good knowledge regarding organizational values.
-- Sachita Agrawal
ACKNOWLEDGEMENT
Before starting this project report, I would like to add a few gratitude-filled words to those people who have helped me directly or indirectly for standing up in this project in numerous ways ; people who gave unending support right from the concept evoked in my mind. This project work was undertaken in partial fulfillment of the requirements for the award of the degree of Bachelor Of Technology under Rajasthan Technical University. I wish to express my heartfelt thanks to all those who helped me to complete the project. Firstly, I would like to thank our college & our Head of the department, Mr. Lokesh Vargi for giving me a great opportunity to develop a project on Online GD Forum named iSpeak.com using Microsoft Visual Studio 2008 and SQL Server 2005 Express edition. Next, I am very grateful to our project mentor, Mr. Ayon Chatterjee for providing me with proper information, support and unending encouragement in building up this project. Completion of a project like this, always involves many dedicated professionals doing their part behind the scene. I would like to thank our faculty members, specially Mrs. Kuntal Gaur, our project lab incharge, who gave us proper guidelines in completing the project, and everyone involved, in making this project a successful one. I wish to express my gratitude to Ardent Collaborations for allowing me to carry out this project. It's really a great pleasure to work in such an organization. Last but not the least , I would like to thank my classmates and all those people, who played a vital role either directly or indirectly, in the completion of this project.
INDEX
Topic : Page no.s :
1. Introduction. 1-2 2. About the Technology. 3-4 3. Database - An Overview. 5 4. Theoritical Background.. 6 5. The .NET framework.. 7-9 6. Hyper Text Markup Language.. 10 7. Initial Information Collection 11 8. Requirement Specification. 12 9. Logical Data Flow Diagram... 13 10. Feasibility Study. 14 11. System Design. 15-16 12. Data Flow Diagram 17 13. Entity-Relationship Diagram........ 18 14. System Implementation.. 19-20 15. Program Codings..................... 21-25 16. System Testing and Evaluation 26 17. Drawbacks, Limitations and Future Scope. 27 18. Screenshots.. 28-35 19. Conclusion 36
INTRODUCTION
A forum, also known as a message board, bbs, or conferencing system, affords asynchronous, many-to-many, multimedia discussions for large groups of people over a period of time. That means that people can read and write their part of the discussion on their own schedule, that everyone in a group can communicate with everyone else, and that graphics, sounds, and videos can accompany text. This particular form of conversational medium meets the need for organizing discussions after they reach a certain level of complexity. If twenty people want to discuss five subjects over ten days, and each person makes one comment on each subject every day, that makes for one thousand messages in each participant's mailbox. On lists, when the topic drifts, the subject line usually does not change, so it makes it difficult to find particular discussions later.
Each forum can have an unlimited number of categories and sub-categories. Categories are like placeholders in which topics of discussion and messages are contained. Henceforth, a category manages the forums topics into folders or groupings. This is a logical method of sorting topics. On the home page of the forum, a listing of all the categories to which the user has access, excluding those categories that the user wishes to block from viewing (refer to How do I update my profile?), will be displayed. In addition, the user will see the number of topics posted within each corresponding category, and the date/time/author of the last posting made in the corresponding category. To find out quickly if new messages have been posted since the last viewing, simply hover over the clipboard icon corresponding to the category in question.
Users of a Forum :
FuseTalk refers to pre-defined types of users. They are Forum Owner, Moderator, and User.
Forum Owners are individuals who have been assigned to manage a forum. Forum owners have the rights to change any forum level, create discussion categories for their forum, create moderators, and manage their own sets of users. Moderators are individuals who have been assigned to moderate a category within a forum. A moderator can be assigned to one or multiple categories and their permissions range from deleting messages/topics to banning individuals from accessing the forum. Users are individuals or members who have been given access to a forum or who have publicly registered to access the forum. These members do not have any special privileges unless otherwise given by the Forum Owner. Users can become Moderators or Forum Owners if designated by the Forum Owner. having an alert system, using which he/she will get the alerts in form of email or scrap.
Why ASP.NET?
Platform Independent. Architecture Independent. Vender Independent. Language Independent.
.NET Architecture :
DATABASE AN OVERVIEW
A Database is a single organized collection of structured data stored with a minimum of duplication of data items so as to provide a consistent and controlled pool of data. This data is common to all users of the system but is independent of programs which use the data. The independence of database and programs using it means that they can be changed without changing the other. The users of the database may find it convenient to imagine that they are using integrated file system.
RDBMS :
RDBMS is an acronym for relational database management system and can be defined as data program for general purpose data storage and retrieval that organized data into table consisting the same set of data items(columns). The data is stored in the Kernel to maintain data security. RDBMS is the database in which multiple tables can be associated or related to one another based on common data items or files within the tables. RDBMS provides a way of doing tasks in an understandable and reasonably uncomplicated manner. For Example, a name and address file might columns for name, street, city, state, pin and phone number. A record can be created for each person by filling each field. An another table consists of the name, employers name and dept. The two tables holds a relationship where each person has an entity. One of the major features of RDBMS is the ability to generate a new file with data from two related files.
Functions of RDBMS :
The most important functions of RDBMS are as mentioned below: Defines database Modifies structure of database Queries the database Adds and deletes the database Controls the database Secure Access from public users Communicate within network Export and import of data.
THEORETICAL BACKGROUND
In the whole project development the front ends are made using Microsoft Visual Studio.Net and SQL Server as backend database and the connection with the database, being SqlConnection.
10
The .Net Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. It is design to fulfill the following objectives : To provide a consistent object-oriented programming environment whether object code is stored and executed locally but Internet-distributed or executed remotely. To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown o semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experiences consistent across widely varying types of applications, such as Windows-based applications and Web-based application. To build all communication on industry standards to ensure that code based on the .Net Framework can integrate with any other code.
11
The SQL Server 2005 database engine includes integrated XML support. It also has the scalability, availability, and security features required to operate as the data storage component of the largest Web sites. The SQL Server 2005 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2005 supports features such as English query and the Microsoft Search Services to incorporate user-friendly queries and powerful search capabilities in Web applications.
12
The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server 2005 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites.
Enterprise-Level Database Features. The SQL server 2005 relational database engine supports the features required to support demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server 2005 distributed queries allow you to reference data from multiple sources as if it were a part of a SQL Server 2005 database, while at the same time, the distributed transaction supports protects the integrity of any updates of the distributed data. Replication allows you to also maintain multiple copies of data, while ensuring that the separate copies remain synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them work autonomously, and then merge their modifications back to the publisher.
SQL Server 2005 includes a set of administrative and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server 2005 also supports a standard-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. These features allow you to rapidly deliver SQL Server applications that customers can implement with a minimum of installation and administrative overhead.
Data Warehousing.
SQL Server 2005 includes tools for extracting and analyzing summary data for online analytical processing. SQL Server also includes tools for visually designing databases and analyzing data using English-based questions.
13
author controls the user experience with the content just as the engineers who program Microsoft Excel craft the way users interact with spreadsheet content and functions. Version 4.0 and later of the published HTML standards endeavor to define the purpose of HTML as assigning context to content, leaving the appearance to a separate standard for stylesheets. In other words, its not HTMLs role to signify that some text is italic, but rather to signify why it is italic. For example, you would tag a chunk of text that conveys emphasis (via the <em> tag) regardless of how the stylesheet or browser sets the appearance of that emphasized text.
Deciding if just one forum or multiple forums is needed can be difficult, especially if there is an uncertainty of how they are defined and what makes a forum. The simplistic definition of a forum is a place where people have the ability to start communication (in the form of threads) and reply to other people's threads. A member of the community in the forum posts a message, which is visible to everyone in that community. Once read, there is the option to post a reply, which can also be visible to the community. Thus, a discussion can build up without all users having to be online at the same time. FuseTalk can allow for more than one forum to be created. These forums can be considered as containers for threads started by the community. Depending on the permissions of community members as defined by the forum administrator, they can post replies to existing threads and start new threads as they wish. In addition, users of a forum can post anonymously (if this is enabled by the Forum Administrator) or as their registered username.
System Analysis :
Systems development can generally be thought of as having two major components, in which one such component is Systems Analysis. Systems analysis is the process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvement to the system. Analysis is a detailed study of the various operations performed by a system and their relationship within and outside of the system. One aspect of analysis is defining the boundaries of the system and determining whether or not a candidate system should consider other related systems. During analysis, data are collected on the available files, decision points, and transactions handled by the present system. Data flow diagrams, interviews, onsite observations and questionnaires are commonly used tools in analysis. We can say that analysis specifies what the system should do. System analysis is the management technique, which helps us in designing a new system, improving an existing system or solving a system problem
REQUIREMENTS SPECIFICATION
Requirements Specification :
Requirements Specification involves the basic requirements that the system to be developed should posses. These can be broadly classified into two types. 1. Performance Requirements. 2. Functional Requirements. 16
Understanding the requirements specification is critical for the projects success otherwise the system does not get developed according to the customers wishes.
Performance Requirements :
1.The system should be built in a way such that it is independent of the type of database used. SQL Server, Oracle etc. 2. Response should be fast. 3. High throughput. 4. Security should be high such that no intruder can tamper with data. 5. The access of the system should be traceable to identify who are the users of the system and when they last logged in to the system.
Functional Requirements :
Here, the user will do 7 jobs : Register to the site. After registration login to the site. Add friend and remove also. Add scrap and remove also. Can search for friend by name and id. Can update their profile. Can change password.
17
Data Store Approved Effort Coding & Testing Request detail Deployment Approved Effort
The system interacts to the customer by means of some front-end form. To enter the system a login form will appear where User ID and Password will have to be entered to log into the system and then this will check the Permission of that user. According to permission the System is loaded.
FEASIBILITY STUDY
Feasibility Study is one of the fundamental aspects in design of system. The key-points are as follows:1) Form a project team and appoint a project leader. 2) Prepare system flow chart. 3) Enumerate potential candidate systems. 4) Describe and identify characteristics of candidate systems. 18
5) Determine and evaluate performance and cost effectiveness of each candidate system. 6) Weight system performance and cost data. 7) Select the best candidate system. 8) Prepare and report final project directive to management.
Technical Feasibility :
It specifies whether the proposed solution in the project is possible to be implemented using available hardware and software.
Operational Feasibility :
Operational feasibility considers the factors that how the software will satisfy the need of the users, how it could be changed for future requirements and the operational factors of the computer.
Economical Feasibility :
This defines the measurement cost effectiveness of the project. It further consists of two parts : a. Direct cost. b. Indirect cost.
SYSTEM DESIGN
19
Design Goals :
Design of an interactive application that enables the user to filter the Social Community based application on different parameters. Design of an application that has features like drag and drop etc. Design of application that decreases data transfers between the client and the server.
Dynamic WebPages :
A Dynamic web is one that is created at run time, on the fly, executing some program on the server, then converting the out put into HTML format and sending it to the browser to display it on the client machine. It is quite different form the client machine which are to created and stored on the servers hard disk.
Web browser
Web server
20
2
1. Http request: Browser sends a request for a file. 2. Http response: Server sends a HTML output of that file. Figure: Dynamic Web pages
Home Page
User Login
User Registration
21
Register Login Approve Topic Search Topic View Topics Reply Topic User View Users list Logout iSpeak.com
22
Registration Info 1
1 1
Has Sen t
Reques t
n
User
1
Profile View Topics
Search Topics
Reply Topic
23
SYSTEM IMPLEMENTATION
Table 2 : Contradiction Field Name ContradictID Contradiction OpinionSNO TopicID SenderID ReceiverID PostDate Table 3 : OpinionDetail Field Name SerialNo TopicID UserID Comments PostDate Data type Int varchar(50) varchar(50) varchar(MAX) varchar(MAX) Allowed null Not Null keys Primary Key Data type varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) Allowed null Not Null keys Primary Key
24
Table 4 : Topic Field Name TopicID TopicName UserID Details Date Status Table 5 : UserInfo Field Name UserId Password Name EmailID ContactNo Image Data type Allowed null Varchar(50) Not Null varchar(50) varchar(50) varchar(MAX) varchar(MAX) Varchar(MAX) keys Primary Key Data type Varchar(50) varchar(50) varchar(50) varchar(MAX) varchar(MAX) Varchar(10) Allowed null Not Null keys Primary Key
25
PROGRAM CODINGS
Login :
public partial class User_Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void LoginButton_Click(object sender, EventArgs e) { DataSet ds; ds = dbaccess.FetchData("SELECT * FROM UserInfo WHERE UserID = '" + Login1.UserName + "' AND Password = '" + Login1.Password + "'"); if (ds.Tables[0].Rows.Count == 0) { Login1.FailureText = "Wrong User ID or Password"; } else { Session["uid"] = Login1.UserName; Response.Redirect("~/User/Home.aspx?UID=" + Login1.UserName + "& image=" + ds.Tables[0].Rows[0] [5].ToString()); } } }
Registration :
26
public partial class User_Image_Registration : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { string filename, pathname; bool r; filename = Path.GetFileName(FileUpload1.FileName); FileUpload1.PostedFile.SaveAs(Server.MapPath("Image\\") + filename); pathname = "~/User/Image/" + filename; r = dbaccess.SaveData("INSERT INTO UserInfo VALUES ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + pathname + "')"); if (r) { Session["uid"] = TextBox1.Text; Response.Redirect("Home.aspx"); } else { Label1.Text = "UserID already exists"; } } }
Creating a topic :
public partial class User_CreateTopic : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { bool r;
27
r = dbaccess.SaveData("INSERT INTO Topic VALUES ('" + TextBox1.Text + "','" + Session["uid"] + "','" + TextBox2.Text + "','" + DateTime.Now + "','N')"); if (r) { Response.Redirect("Home.aspx"); } else { Label1.Text = "Error : Check it yourself..."; } } }
Searching people :
public partial class User_SearchPeople : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { DataSet ds = dbaccess.FetchData("SELECT UserId,Image, Name, EmailID, ContactNo FROM UserInfo WHERE Name LIKE '%" + TextBox1.Text + "%' OR UserId LIKE '%" + TextBox1.Text +"%'"); if (ds.Tables[0].Rows.Count == 0) { Label1.Text = "No Such User Found..."; } else { Label1.Text = ""; DataList2.DataSource = ds.Tables[0]; DataList2.DataBind(); } }
Searching a topic :
public partial class User_SearchTopic : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { DataSet ds = dbaccess.FetchData("SELECT TopicID, TopicName, Details FROM Topic WHERE TopicName LIKE '%" + TextBox1.Text + "%' OR Details LIKE '%" + TextBox1.Text + "%'"); if (ds.Tables[0].Rows.Count == 0) { Label1.Text = "No Such Topic Found..."; } else { DataList2.DataSource = ds.Tables[0]; DataList2.DataBind(); } } protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandArgument == "vc") { Response.Redirect("ViewComment.aspx?tid=" + ((Label)e.Item.FindControl("Label4")).Text); } } }
Viewing comments :
public partial class User_ViewComment : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { 29
} protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandArgument == "c") { DataList2.EditItemIndex = e.Item.ItemIndex; DataList2.DataBind(); } } protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e) { DataList2.EditItemIndex = -1; DataList2.DataBind(); } protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e) { bool r; string tid = ((Label)e.Item.FindControl("Label2")).Text; string comment = ((TextBox)e.Item.FindControl("TextBox1")).Text; string rec = ((Label)e.Item.FindControl("UserIDLabel")).Text; String OpinionId = ((Label)e.Item.FindControl("Label3")).Text; r = dbaccess.SaveData("INSERT INTO Contradiction VALUES ('" + comment + "'," +OpinionId + ","+ tid + ",'" + Session["uid"].ToString() + "','"+ rec +"','"+DateTime.Now+ "')"); r = dbaccess.SaveData("INSERT INTO OpinionDetail VALUES (" + tid + ",'" + Session["uid"].ToString() + "','@" + rec + "<br>" + comment + "','" + DateTime.Now + "')"); if (r) { Response.Redirect("ViewComment.aspx?tid=" + tid); } else { ((Label)e.Item.FindControl("Label10")).Text = "Error.................."; } } }
30
Log Out :
protected void LinkButton2_Click(object sender, EventArgs e) { Session["email"] = null; Session.Abandon(); Response.Redirect("home.aspx"); }
Unit Testing :
In this phase all the independent units of the system are tested to ensure that information properly flows into and out of the program under test. Here, the local data structures are also examined to ensure that the modules operate properly. All possible error-handling paths are also tested to give proper messages to the users of the system when an error is encountered. Another important facility that has been tried out and tested successfully is to give warning messages to the Administrator of the system when they are about to confirm some changes to the records in the database.
Some of the most important test cases that were tried out successfully are :1. 2. 3. 4. 5. 6. Login Process. Invalid attribute values. Data Is Must for creating risk data elements. In write Description and comment character must not grater than 255. Entering in status name this character is not allow. Without selecting any row it is not going it delete.
Future Scope :
The work described above and included in this special theme section contributes to an on-going dialogue about the importance of social network sites, both for practitioners and researchers. Vast, uncharted waters still remain to be explored. Methodologically, SNS researchers' ability to make causal claims is limited by a lack of experimental or longitudinal studies. Although the situation is rapidly changing, scholars still have a limited understanding of who is and who is not using these sites, why, and for what purposes, especially outside the U.S. Such questions will require large-scale quantitative and qualitative research. Richer, ethnographic research on populations more difficult to access (including non-users) would further aid scholars' ability to understand the long-term implications of these tools. We hope that the work described here and included in this collection will help build a foundation for future investigations of these and other important issues surrounding social network sites. 32
SCREENSHOTS
Administrators Pages :
1> Default.aspx :-
2> CreateTopic.aspx :-
33
3> ApproveTopic.aspx :-
4> UserDetails.aspx :-
34
5> ViewTopicDetails.aspx :-
35
Users pages :
1> Registration.aspx :-
36
2> Login.aspx :-
3> Home.aspx :-
5> ViewTopic.aspx :-
7> ViewComment.aspx :-
9> SearchPeople.aspx :-
CONCLUSION
While developing the system a conscious effort has been made to create and develop a software package, making use of available tools, techniques and resources that would generate a proper Technical Institute Support System. While making the system, an eye has been kept on making it as user-friendly, as cost-effective and as flexible as possible. As such one may hope that the system will be acceptable to any user and will adequately meet his/her needs. As in case of any system development process where there are a number of shortcomings, there have been some shortcomings in the development of this system also. These have been mentioned in details under the topic Limitations, Drawbacks and Future Scope of the System.
41
REFERENCES
We are grateful to the following websites which helped us to require references about the ebusiness. www.onlinesbi.com www.amazon.com www.worx.com www.tcs.com www.yahoo.com www.msdn.com www.ebay.com www.cooltext.com www.wikipedia.org www.google.com www.codeproject.com www.daniweb.com
42
43