Final Report-online Library

  • Uploaded by: karthikeyan
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Final Report-online Library as PDF for free.

More details

  • Words: 2,863
  • Pages: 38
Team: Paladins Project: Numero Uno

Final Report

Karthikeyan, S Keerthivasan, M Gopalakrishna, D Sabarish, K

Contents Title

Page No.

Introduction

3

Situation

3

Solution

3

Benefits

4

Solution Overview

4

Features and Specifications

6

Assumptions/Risk assessment

6

Functional Specification

6

Roles

7

Architecture Diagram

9

Use Case Diagram

10

Class Diagram

11

Database Design

14

Workflow Diagram

15

Entity Relationship Diagram

18

Screenshots

19

Sample Code

33

Page | 2

Introduction Situation Gone are the days when the librarian had to have his library log updated manually with help of his assistants. The tedious process of updating the log, manually, after every transaction is dying out in most of the libraries. This is with the advent of computerization in this field too. Then came spreadsheets which used to run for pages. Even then it was the duty of the librarian/administrator to enter all details manually in the spreadsheet. She/he had to keep track of all items in the library and update the corresponding records. The person borrowing the book had to get his verification card and get it updated every time he borrows/returns an item from/to library. Even this work of verifying the person and updating the card falls on the librarian or his assistant. Every now and then the librarian has to keep track of all the books and other items by checking the stocks (i.e. stocking). Searching books have been a tough job for the users, as they have to spot it in the library catalogue which runs for hundreds of pages. Accuracy of the librarians also plays an important role. Users can request for books in person only. Libraries are looking forward for a solution which is accurate and is highly powerful.

Solution This solution is developed using .NET technology which improves the accuracy of the information by leaps and bounds. This solution helps the administrator accomplish his tasks at ease. This solution is an online library management system which lets users sign-up to the library initially and then sign-in every time they want to find some item in the library. The user can also maintain and edit his profile details. It also lets administrators manage the library from their desktop. They can monitor any item, its stock and other related information. A user can sign-in and search for items, borrow or reserve items if they are present in the library. If not, user can request the librarian/administrator to get the book by furnishing all the details. As soon as a user reserves a book the library database gets updated automatically. This improves accuracy and leaves no user fooled about the status of availability of an item. All details of the user are stored in the database which eases pressure on the administrator about defaulters. Defaulters can be blocked/removed from the library, by the administrator. The user need not visit the library every time to find an item; instead he/she can search items from his/her own PC/laptop. Reports can also be generated for individual items or for number of defaulters and the number of transactions for an item or by a user. They can also be generated in graphical form. Page | 3

An advantage of this solution is that a web browser which supports .net framework is enough to view the user interface. This interface can be seen in any such system and hence makes it portable too.

Benefits  Accurate Information around the clock Information about the library database is accurate at any given point of time since its all automatic and updated after every transaction.  Ease of access Users can find items, reserve book, change profile details, etc., from their homes as the library’s transactions are online.  Maintenance is easy Managing the database is easy and so is its maintenance. It does not require much of care and goes on until it isn’t affected due to heavy trafficking.  Sorting of data Data is stored in different databases and sorted into different tables to differentiate content and it can easily converted into reports for presentations.  Portable solution A browser which supports .net framework is enough to view the user interface. This does not require separate installation process in every system hence making it portable.

Solution Overview Vision Statement The vision is to provide an efficient online library management system. Online search enables users from all over the world to search for books in the library. This allows members of the library to carry out transactions online. It also enables administrator/librarians to monitor transactions in the library.

Scope Scope for the library management system is an improvised search algorithm. Real-time searching algorithms can also be implemented to improve the functionality of the search. ISBN number can be used to search book details

Page | 4

online and retrieve it for the user. All these can be done to make the existing solution better.

Objectives Objective of the project is to create a library management system which sorts the administrators, staffs and students separately. It empowers each with different levels of privileges. Users and administrators are allowed to search and lend/take books from the library. It also sorts the items in the library and lets administrator to monitor items/members and also generate graphical reports for them. Administrator can also send reminders to the defaulters or can even deny membership to them.

Budget Budget would include initial setup of the server that would include a system as a server and one system for browsing/searching the library. Using many more systems for browsing may affect the budget of the solution implementer.

Technologies Used • • • • •

C# ASP.NET 2.0 Visual Web Developer Express Edition SQL Server 2005 Express edition Windows XP Professional Edition All the above listed softwares are either freeware or trial version software. Certain features which these lacks may be successfully executed using a licensed version of the same set of softwares. Hence this affects the budget of a solution developer.

Overview of Solution The users and administrators can create their accounts based on different privileges. They can lend borrow books and CDs in library based on their privileges. Users can also reserve books and CDs present in the library and also request for those not present. Administrator sorts, edits the items in the library. By using this solution, managing/maintaining the server becomes easy. The interface provides more information and saves time. This is much more accurate than a librarian updating the fields manually. The database is updated after every transaction and leaves no user fooled about the status of availability of an item.

Milestones •

Analysing solutions and finding possible entities.



Designing the user interface.



Prototyping the project.



Creating data base tables and establishing relationships with the user interface. Page | 5



Code the user authentications, search algorithms and other special features.



Testing the solution and bettering it.



Implementing the solution and also documenting it.

Features and Services Features of the library management are as follows Registration - Allows users to sign up for accessing the library. Managing the library – Allows administrators to update view/edit/delete book/CD details and also categorise them into different categories based on type. Search facility – Users including the administrators can search books and CDs using different types of search like simple and advanced search. Administrator can also search members. Request for books – Users can request for books/CDs if they do not get proper search results. If they are not present in the library they can request the administrator to get one. Transactions – Users can carry out transactions online like reserving, borrowing, returning items. Users can also request for extension of time. Notifications – Administrator can send e-mail notifications to defaulters. Report Generation – Administrator can generate reports on items and their history of transactions. A report on defaulters can also be generated. Graphical representation is possible. Monitor members – Administrator can monitor members too and also view details or can even deny membership to defaulters.

Assumptions/Risk Assessment Assumptions support the base of the solution. Assumptions include  Library houses a certain minimum number of copies of the same book for sake of many borrowers.  Library uses original books/CDs.  Library does not advise users to copy CDs/DVDs onto their computers.  Library restricts the maximum number of borrowable items for different users.  Library server runs a version of Windows operating system. Page | 6

 Client systems support .NET Framework.  User has basic computer knowledge and knows how to search/find information in the internet.  User has a decent internet speed to run the online solution.

Functional Specification Initially when the solution is host in the server, administrator accounts are setup. These administrators manage the server. First time users can carry on with simple search but those who want to borrow books need to sign-up for this facility. They can then sign-in anytime for searching, borrowing or returning books. They can also view their profile pages, history of their transactions

Infrastructure Infrastructure plays an important role in this type of server-client computing. Both server and client require a minimum amount of configuration to run the implementation.

• Server/Solution Platform

Server must run a WINDOWS OS which supports IIS so that the website can be deployed. The server must also be capable of running Visual web developer and SQL Server for database management.

• Client Platform Client system must run a windows operating system. It must run browsers which support .NET framework like Internet Explorer or Mozilla Firefox.

Roles New user •

A new user can be any person from the institution willing to be a member of the library.



New user can have a tour of the library before enrolling his/her name in the library.



New user can then sign up for using the facility.



New user is expected to be a member of the institution before joining the institution’s library.



New user has to fill all the required fields in the sign-up process.



A confirmation is sent from the administrator after which the user can sign-in to view or borrow items.

Page | 7

Member •

Member is a person who has signed-up and has received confirmation mail from the administrator.



Member has to sign-in every time to access the library.



Member can view the new arrivals from every branch of study.



Member can browse the library based on the different sections.



Member can borrow items if they are available in the shelves.



Member can reserve items which have been issued to others.



Member can also look at the item details.



Member can request for items which aren’t present in the library.



Member can view his/her profile and change password if necessary.



Member can view his transaction details and fines he/she has to pay.



Member can search items using either simple search or using advanced search technique.



Member can retrieve his/her password anytime in case he/she forgets it.



The security question feature increases security for an individual’s account. This is used for password retrieval.



Member can post his comments either good or bad to the administrator.



Member can cancel membership anytime by deleting their account from the profile page but the user is prompted for confirmation.

Administrator •

Administrator is a person who manages and supervises the functioning of the library.



Administrator creates his/her account during the initial setup of the solution.



Administrator has to sign in like the user to access the library.



Administrator can search for items or even members.



He/she can view the item and member details.



He/she can view the profile and make changes to it if necessary.



He/she can change the password by entering the answer for the security question. Page | 8



Administrator can add/delete members.



Administrator can generate reports for defaulters, items etc.



Administrator can mail reminders to defaulters and even block them for not paying the dues on time.



Administrator can view transaction details of individuals and items separately.



Administrator can add, update, and delete items in the library.



Administrator can view user requests as well as comments posted by them.

Page | 9

System Architecture

Page | 10

Page | 11

Page | 12

Page | 13

Page | 14

Page | 15

Page | 16

Page | 17

Page | 18

Screenshots Page | 19

The following screenshots show the various process involved in this library management solution. They include creation of account, sign-in process, profile views, transaction details, and delete account.

Start Page:

Create Account: Step 1:

Step 2: Page | 20

Step 3:

Step 4:

Page | 21

Member Profile Page:

Member Profile Edit: Page | 22

Member Change Password: Step 1:

Step 2:

Page | 23

Step 3:

Step 4:

Page | 24

Step 5:

Forgot Password:

Page | 25

Steps 1, 2, 3 in Forgot password are similar to the first three in the Change Password Procedure. Hence the pictures are not included.

Step 4:

Member Request:

Transaction Details: Page | 26

Issued:

Reserved:

Returned:

Page | 27

Simple Search:

Advanced Search:

Page | 28

Contact US: Step 1:

Step 2:

Page | 29

Step 3:

Step 4:

Page | 30

Member Delete Account: Step 1:

Step 2:

Page | 31

Administrator The administrator has to follow similar procedures for sign-up, sign-in, profile view/edit and change password. Hence repetition is avoided. Administrator has certain extra privileges for which screenshots are added. Administrator Member Search:

Administrator Item Search:

Page | 32

Administrator Comments:

Sorry Page:

Page | 33

Sample Code: Forgot Password: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Net.Mail;

public partial class Forgotpassword : System.Web.UI.Page { string reg, firstname, lastname; protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { val(); }

} protected void val() { SqlConnection cnn;

Page | 34

SqlCommand cmd,cmd1,cmd2,cmd5; ConnectionStringSettings set; set = ConfigurationManager.ConnectionStrings["signupstudentConnectionString1"]; string cns = set.ConnectionString; cnn = new SqlConnection(cns); cmd = new SqlCommand(" SELECT firstname FROM [studentdetails] WHERE ([regnumb] = @regnumb)", cnn); cmd.Parameters.AddWithValue("@regnumb", vregno.Text); cmd1 = new SqlCommand(" SELECT lastname FROM [studentdetails] WHERE ([regnumb] = @regnumb)", cnn); cmd1.Parameters.AddWithValue("@regnumb", vregno.Text); cmd2 = new SqlCommand(" SELECT squestion FROM [studentdetails] WHERE ([regnumb] = @regnumb)", cnn); cmd2.Parameters.AddWithValue("@regnumb", vregno.Text); cmd5 = new SqlCommand(" SELECT sanswer FROM [studentdetails] WHERE ([regnumb] = @regnumb)", cnn); cmd5.Parameters.AddWithValue("@regnumb", vregno.Text); cnn.Open(); firstname = cmd.ExecuteScalar().ToString(); lastname = cmd1.ExecuteScalar().ToString(); string squestion = cmd2.ExecuteScalar().ToString(); string sanswr = cmd5.ExecuteScalar().ToString(); cnn.Close(); txtsanswercompare.Text = sanswr; reg = lblregn.Text; lblregn.Text = vregno.Text; lblname.Text = firstname + " " + lastname; lblsquestion.Text = squestion;

} protected void Wizard1_FinishButtonClick1(object sender, WizardNavigationEventArgs e) {

SqlConnection cnn; SqlCommand cmd3, cmd4; ConnectionStringSettings set; set = ConfigurationManager.ConnectionStrings["signupstudentConnectionString1"]; string cns = set.ConnectionString; cnn = new SqlConnection(cns); cmd3 = new SqlCommand(" SELECT email FROM [studentdetails] WHERE ([regnumb] = @regnumb)", cnn); cmd3.Parameters.AddWithValue("@regnumb", vregno.Text); cmd4 = new SqlCommand(" SELECT password FROM [studentdetails] WHERE ([regnumb] = @regnumb)", cnn); cmd4.Parameters.AddWithValue("@regnumb", vregno.Text); cnn.Open(); string emailto = cmd3.ExecuteScalar().ToString(); string password = cmd4.ExecuteScalar().ToString(); cnn.Close(); string body = " Below is the details of your account with the password you requested.\n" + "\n Name :" + firstname + " " + lastname + "\nRegister No: " + reg + "\n password :" + password; SendMail(emailto, password); } private void SendMail(string to, string body) {

Page | 35

string mailServerName = "SMTP.google.com"; MailMessage message = new MailMessage("[email protected]", to, "password recovery", body); SmtpClient mailClient = new SmtpClient(); mailClient.Host = mailServerName; mailClient.Send(message); message.Dispose(); } }

Signup :

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class signup : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) { } protected void question_TextChanged(object sender, EventArgs e) { } protected void RadioButton2_CheckedChanged(object sender, EventArgs e) { } protected void btncancel_Click(object sender, EventArgs e) { } protected void TextBox2_TextChanged(object sender, EventArgs e) { } protected void dpt1_SelectedIndexChanged(object sender, EventArgs e) { if (coursetxt.SelectedValue.ToString() == "mba" || coursetxt.SelectedValue.ToString() == "mca" || coursetxt.SelectedValue.ToString() == "mtech" ) { ugyear.Items.Clear(); ugyear.Items.Add("I Year"); ugyear.Items.Add("II Year"); branchddl.SelectedIndex = 15; } else

Page | 36

{ ugyear.Items.Clear(); ugyear.Items.Add("Freshman(I)"); ugyear.Items.Add("Sophomore(II)"); ugyear.Items.Add("Junior(III)"); ugyear.Items.Add("Senior(IV)"); } } protected void btnsubmit_Click(object sender, EventArgs e) { //SqlDataSource signupstudent = new SqlDataSource(); // signupstudent.ConnectionString = ConfigurationManager.ConnectionStrings["signupstudentConnectionString1"].ToString(); //dashDataSource.InsertCommandType = SqlDataSourceCommandType.Text; //dashDataSource.InsertCommand = "INSERT INTO Email(EmailAddress,IPAddress,DateTimeStamp) VALUES(@EmailAddress, @IPAddress,@DateTimeStamp)"; SqlDataSource studentdetails = new SqlDataSource(); studentdetails.ConnectionString = ConfigurationManager.ConnectionStrings["signupstudentConnectionString1"].ToString(); // signupstudent.InsertCommandType = SqlDataSourceCommandType.StoredProcedure; // signupstudent.InsertCommand = "signupstudents2"; studentdetails.InsertCommandType = SqlDataSourceCommandType.StoredProcedure; studentdetails.InsertCommand = "studentdetails2"; studentdetails.InsertParameters.Add("regnumb", regno.Text); studentdetails.InsertParameters.Add("password", password.Text); studentdetails.InsertParameters.Add("email", Emailtxt.Text); studentdetails.InsertParameters.Add("squestion", squestion.Text); studentdetails.InsertParameters.Add("sanswer", sanswer.Text);

// studentdetails.InsertParameters.Add("regno", regno.Text); studentdetails.InsertParameters.Add("firstname", firstnametxt.Text); studentdetails.InsertParameters.Add("lastname", lastnametxt.Text); studentdetails.InsertParameters.Add("dob", DOBtextbox.Text); studentdetails.InsertParameters.Add("sex", sexrdbn.SelectedValue); studentdetails.InsertParameters.Add("course", coursetxt.SelectedValue); studentdetails.InsertParameters.Add("yearr", ugyear.SelectedValue); //studentdetails.InsertParameters.Add("yearr", pgyear.SelectedItem.Value); studentdetails.InsertParameters.Add("branch", branchddl.SelectedValue); studentdetails.InsertParameters.Add("address", addresstxt.Text); studentdetails.InsertParameters.Add("pincode", pincodetxt.Text); studentdetails.InsertParameters.Add("contactno", ctnotextbox.Text);

//dashDataSource.InsertParameters.Add("DateTimeStamp", System.DateTime.Now()); int rowsAffected = 0; int rowsAffected = 0;//,rowsAffected2 = 0; try { // rowsAffected2 = signupstudent.Insert(); rowsAffected = studentdetails.Insert();

Page | 37

} catch (Exception ex) { //TODO: Probably would want to write to the Window error log Server.Transfer("problem.aspx"); } finally { studentdetails = null; } if (rowsAffected != 1 )//&& rowsAffected2 != 1 ) { Server.Transfer("~/problem.aspx"); } else { Session["logged"] = "in"; Session["firstname"] = firstnametxt.Text; Server.Transfer("~/Signupsuccess.aspx"); }

//Response.Redirect("~/Signupsuccess.aspx"); } }

Page | 38

Related Documents

Final Library 100.docx
November 2019 6
Final Library Notes
May 2020 9
Library
April 2020 42
Library
November 2019 54
Library
April 2020 35

More Documents from "Temple Beth Sholom"