You are on page 1of 43

BIBLIOGRAPHIC REPOSITORY

A PROJECT REPORT
Submitted by

SAKTHI ISWARYA S (20EUIT125)


SHRIMATHI A (20EUIT140)
YAMINI J (20EUIT170)
YAZHMUGHI RAMESH (20EUIT171)

In partial fulfillment of the requirements


for the award of the degree

of

BACHELOR OF TECHNOLOGY

in

INFORMATION TECHNOLOGY

SRI KRISHNA COLLEGE OF


ENGINEERING AND TECHNOLOGY
(An Autonomous Institution)
(Approved by AICTE and Affiliated to Anna University, Chennai)
ACCREDITED BY NAAC WITH “A” GRADE
NOVEMBER 2022

1
SRI KRISHNA COLLEGE OF ENGINEERING AND
TECHNOLOGY
(An Autonomous Institution)
(Approved by AICTE and Affiliated to Anna University, Chennai)
ACCREDITED BY NAAC WITH “A” GRADE

BONAFIDE CERTIFICATE

Certified that this project report “ Bibliographic Repository ”


is the bonafide work of SAKTHI ISWARYA S (20EUIT125)
SHRIMATHI A (20EUIT140) YAMINI J (20EUIT170)
YAZHMUGHI RAMESH (20EUIT171) who carried out the project
work under my supervision.

SIGNATURE SIGNATURE
Dr.N.SUSILA Dr.K.N.Sivabalan.
HEAD OF THE DEPARTMENT SUPERVISOR
Professor Professor
Information Technology, Information Technology,
Sri Krishna College of Engineering and Sri Krishna College of Engineering and
Technology, Technology,
Kuniyamuthur, Coimbatore–641008. Kuniyamuthur,Coimbatore–641008
.

This project report is submitted for the autonomous project viva-voice examination held on
……………………..

INTERNAL EXAMINER EXTERNAL EXAMINER

2
ABSTRACT

To keep track of information on the books that are currently in the library,
their authors, the library users who are issued books, the library personnel, and
other facts, a technology known as an Online Library Management Application
(OLMA) is utilized. Manually organizing this is quite difficult.The manual
maintenance of all of this data is a very challenging task. Technology
advancements have made it much simpler to manage an online library. To
computerize and automate the procedures used to manage member information,
book issues and returns, and all other operations, the Online Library Management
Application was developed.The computerization of many library upkeep jobs
makes them simpler. The amount of manual labour is minimized, which reduces
the management team's workload. Reading enthusiasts have many difficulties in
their daily lives, such as carrying their books with them and finding the time to
visit libraries. In order to address this issue, we propose this concept of "A Digital
Library Management Application," which is an Android application.The library
management Application objective is to provide a portable virtual library for users.
This programmer offers carefully crafted, logically arranged books in a range of
subject areas. The method used to implement the application is called Flutter.

3
ACKNOWLEDGEMENT

At this juncture, we take the opportunity to convey our sincere


thanks and gratitude to the management of the college for providing
all the facilities to us.

We wish to convey our gratitude to our college principal,


Dr.J.Janet, for forwarding us to do our project and offering
adequate duration to complete our project.

We would like to express our grateful thanks to Dr.N.Susila,


Head of the department, Department of Information Technology for
her encouragement and valuable guidance to this project.

We extend my gratitude to our beloved guide


Dr.K.N.Sivabalan, Professor, Department of Information
Technology for her constant support and immense help at all stages
of the project.

4
TABLE OF CONTENTS

CHAPTER TITLE PAGE No.

ABSTRACT 3

ACKNOWLEDGEMENT 4

LIST OF FIGURES 5

LIST OF TABLES 6

1 INTRODUCTION 9

1.1 OBJECTIVE

2 LITERATURE REVIEW 11

2.1.1 IN [1] THE IMPLEMENTATION OF 11


THE AUTOMATED LIBRARY
MANAGEMENT APPLICATION
2.1.2 IN [2] ONLINE LIBRARY 11
MANAGEMENT APPLICATION
2.1.3 IN [3] ENHANCED LIBRARY 11
MANAGEMENT APPLICATION
2.2. ARCHITECTURE AND WORKING 12
2.3. DEVELOPMENT OF LIBRARY
MANAGEMENT APPLICATION 15
2.4.NEEDS FOR LIBRARY MANAGEMENT
APPLICATION
3 SOFTWARE DESCRIPTION 16
4 PROJECT DESCRIPTION 17
4.1 PROBLEM STATEMENT
4.2 OVERVIEW OF THE PROJECT
5 MODULE DESCRIPTION 19
5.1 IMPLEMENTATION AND SYSTEM

5
ANALYSIS
6 SYSTEM IMPLEMENTATION 22

6.1 FLUTTER

6.2 GOOGLE API

6.3 FIREBASE

6.4 EMAIL JS

6.5 FLUTTER PACKAGES USED

7 SYSTEM DESIGN AND ANALYSIS 25

7.1 EXISTING APPLICATION

7.2 ADVANTAGES OVER EXISTING


SYSTEM
8 CONCLUSION AND FUTURE ENHANCEMENT 27
8.1 CONCLUSION
8.2 FUTURE ENHANCEMENT
9 APPENDICES
APPENDIX 1 28
9.1 SOURCE CODE
APPENDIX 2 37
9.2 SCREEN SHOTS
10 REFERENCES 42

6
LIST OF FIGURES

FIGURE NO TITLE PAGE NO

6.1 Authentication for sign in and login 22

6.2 Authentication for email 23


verification and update
6.3
Email API Templates 23
7.1
Flow Chart 25
10.1
Main 37
10.2 Login 37
10.3 Sign Up 38
10.4 Location 38
10.5 Main portal 39
10.6 View Books 39
10.7 Borrow Books 40
10.8 About Us 40
10.9 Contact Us 41

10.10 My Account 41

7
LIST OF TABLE
TABLE NO TITLE PAGE NO

2.1 LITERATURE REVIEW 13


WITH REFERENCE

8
CHAPTER 1
INTRODUCTION

OBJECTIVE
LIBRARY MANAGEMENT APPLICATION

The Application's goal is to automate libraries, and it gives members


and students the tools to find the books they need. The organization,
administration, and management of the library are the main focuses of the library
management applications. Maintaining the database for new book entries and
keeping track of books that have been retrieved or issued, along with their
associated dates, are additional tasks. This project's primary goal is to offer an
automated library management application that is simple to use. Additionally, this
initiative offers tools and an interface for keeping tabs on students' past infractions,
fines, and librarian records. With this project, the owner can easily update, delete,
and insert data in the database. A library management application is software made
specifically to control every aspect of a library. It assists the librarian in keeping
track of the books that members have borrowed and their due dates in the database.
Each and every activity in your library is fully automated by this application. It is
undeniable that libraries have been the only and most comprehensive sources of
knowledge since the dawn of time. In those prehistoric times, a library was simply
a structure or room where a collection of various books or information resources
were kept in order to assist readers in finding the information, they needed without
being sold. We develop application for managing digital libraries. A digital library
is created by converting printed books into digital formats or archive files of the
organization's database so that interested readers who want to read the book can do
so through computers and mobile devices. The use of a library should be

9
encouraged because it saves readers time because they don't need to physically be
in the building; instead, they can access the books online using their phones, so we
design digital libraries. This project is an Android application that almost entirely
satisfies reader needs. This software includes a large number of professionally
processed and organized books. Books are divided into categories based on
languages so that readers may quickly identify their own language and find the
books they want. The app offers the option to "shelf" books, meaning that for ease
of access, books that have been shelved will appear front and centre on the first
page. The app leverages the newest technology, Flutter, for both the Backend and
entire UI. Well-processed data is retrieved from a remote server's storage. This app
also contains e-commerce because users who are interested in reading premium
books have the option of signing up for a paid subscription. The user gets the
impression that they are actually holding books because to the app's simple and
appealing user interface. In conclusion, the project is a library management
application that fulfils the function of a portable virtual library that users may use
at anytime and anywhere while quickly and simply accessing the brand-new
features. Implementing Library Management Application software is the best
approach to systematically maintain, arrange, and handle innumerable books. It
keeps track of the numbers of books in the library, how many are issued, how
many are returned, renewed, or have late fees assessed. With this system, books
may be promptly located, issued or reissued, and all the data can be managed
effectively and efficiently. A library management system's goal is to instantly and
accurately offer information about any type of book, saving a great deal of time
and effort.

10
CHAPTER 2

LITERATURE REVIEW

We conducted a literature review for the implementation of the digital


library and looked at more than 20 research publications in total. It assists us in
learning about prior research and literature pertinent to a library research issue, as
well as numerous new technologies that we can try to apply to future projects.

IN [1] THE IMPLEMENTATION OF THE AUTOMATED LIBRARY


MANAGEMENT APPLICATION

The automated library management application adoption has shown to be


beneficial to staff members in their fundamental maintenance duties of the library.
A home page that lists the books that are available and other key information is
typically created for a school library.

IN [2] ONLINE LIBRARY MANAGEMENT APPLICATION

Management Application for libraries online. A software designed in Java


by Ashutosh Tripathi and Ashish Srivastava has been proposed, focused on the
fundamental functions of a library, such as adding a book, a student, or altering any
data or transactions for a book. This is a 32-bit Windows application that is
compatible with Windows 98, Windows 2000, Windows XP, and Windows NT. It
is also supported on other platforms like Applet Macintosh and UNIX. This
software utilizes a web page combination to create a web application.

IN [3] ENHANCED LIBRARY MANAGEMENT APPLICATION

11
The Enhanced Library Management Application was created to address the
shortcomings of the old system and offer the user a workable solution. It has
certain characteristics that set it apart from other library management application,
such as its three modules:

 Admin module,
 Librarian module and
 Student module.

In this programmer, every module has its own login page. It was created to
effectively oversee a library's everyday operations.

ARCHITECTURE AND WORKING

Specifically created for staff members in an institution, the library


management application is a java-based programming application and database
related application that makes managing libraries easier and more efficient. This
project automates every aspect of library management for staff members so they
don't have to perform manual tasks there.

 First, a login window is presented from the application icon on the


desktop.
 The user must provide a valid login ID and password in the login box;
if one of these is incorrect, a notice stating that the login ID or
password is invalid will be displayed.
 If the user logs in successfully, the main window will be displayed to
them.

12
 The user interface is designed using QT Designer, a Java-based
functionality.
 The home window functions will offer the following capabilities,
which are contained in a library database built by My SQL
Workbench:
 The student's records, such as name, roll number, branch, semester,
etc., are included in the day-to-day application. It makes it easier for
the staff to locate the books that the students have borrowed and
specifies the precise date by which they must be returned. In a matter
of seconds, this table may issue, re-issue, and locate the list of books
that have been issued.The well-organized Books function provides us
with the ability to add, update, and delete books from the library.
 We have convenient tools to add, update, and delete student records
thanks to the Clients/Students feature.The user feature enables the
user to manage the account for the person who can operate this
management application and handle his or her account methodically.
 Three categories are available under the settings function: publisher,
categories, and author of the book. In this function, we can keep track
of the genres, author, and publisher of a specific book.The data source
The My SQL Workbench tool that was used in this project is quite
effective and has a user-friendly interface.

REFERENCE TITLES AUTHORS DATASETS DEMERITS


https://itsourcecode.com/fyp/libra Nym Module lack of detailed
ry-management-system entities video content
projectreport/

13
https://freeprojectscodes.com/liba Ronald compatibility No constraints
ry-management-system-project- Ngoda specifications and network
inphp-with-source-code/ specifications
https://github.com/Anand908/Lib Anand source code Installation
ra ry-Management-System dependencies
https://github.com/prasadlahiru/b Prasad source code Database
rary-Management-System design
https://github.com/prabhakar267/i Prabhakar source code Architectural
brary-management-system Diagram
https://github.com/segunolalive/el segunolalive source code Scripting
loBooks language build/
installation
https://github.com/vinitshahdeo/i vinitshadeo Source code Front-end
brary-Management-System implementation
https://github.com/xeeshansami/i Xeeshana Compatibility App
brary-Management-App specifications configuration
specifications
https://github.com/hasandik/Simp Hasandik source code Installation
le -Library-Management-System- dependencies
Three-Layer-Architecture
https://github.com/enisgjini/biblo enisgjini source code Database
eka design

Table 2.1 literature review

14
DEVELOPMENT OF LIBRARY MANAGEMENT APPLICATION

A Library Management Application is a planning tool for the library's


resources that allows users to view the orders, payments, and loans made by
customers. Particularly in the UK, the term "Library Integrated Application" is
occasionally used. According to Cynthia Lopta, an integrated system is one that is
automated and uses a single bibliographic database for all of its functional
modules.

Since vendors no longer have the power of owning the Integrated Library
Application software and tying libraries to rigid contracts, they are now more
likely to provide quality service in order to maintain a partnership, according to
libraries that recently switched to open source integrated library application. With
the SC LENDS collaboration, this has been the situation. The South Carolina
States Library, along with a few local public libraries, established the SC LENDS
consortium in order to share resources and take advantage of the Evergreen
Integrated Library Application open source nature to meet their particular needs.
This was done in response to the success of Evergreen for the Georgia PINES
library consortium.

NEEDS FOR LIBRARY MANAGEMENT APPLICATION

 Better customer service thanks to easier access to reliable information Staff


members' productivity and job satisfaction will increase as a result of the
elimination of unnecessary work.
 Information storage and preservation techniques that are more affordable and
secure More affordable and secure methods for maintaining and storing
information . Increased responsibility and openness in business practices

15
CHAPTER 3
SOFTWARE DESCRIPTION

To create the app Bibliographic Repository, we used the Flutter


mobile app development platform. The developer tools for the app
include Visual Studio Code and Android Studio. The Google Api is
used by the location module. For the purpose of sending
recommendations and questions via mail, we used Email Js. All login,
signup, and validation user credentials have undergone Firebase
authentication. The user interface (UI) design of the program
necessitates the downloading and importing of numerous modules for
fonts and other design elements. Libraries that recently switched to
open source integrated library application claim that vendors are now
more likely to offer high-quality service in order to maintain a
partnership because they no longer have the power to own the
Integrated Library Application software and bind libraries to strict
contracts. This has been the case with the SC LENDS partnership. The
SC LENDS consortium was founded by the South Carolina States
Library and a few neighbor hood public libraries in order to pool
resources and take advantage of the Evergreen Integrated Library
Application's open source nature to suit their unique requirements.

16
CHAPTER4

PROBLEM DESCRIPTIOIN

PROBLEM STATEMENT

Enhanced Library Management Application by using flutter

OVERVIEW OF THE PROJECT

As part of the Library Management Application project a software to


track and manage library activity is being created. This system is largely concerned
with doing ordinary library chores, such as adding new users, new books, and
updating existing information. It also enables users to search books and check out
and return them.

The solution will be used to assist libraries in accelerating their


transactional processes, assemble a database that includes user and book data.
Make a sophisticated search that will help you respond to user inquiries as best you
can. Several search kinds should be supported by this search, including author,
title, publisher, department, section, and subject searches.

Some of the things this project offers are as follows:

• The availability of books online.

• Online book search columns are available.

• The librarian can be asked for new books to add to the column.

• A customer's login portal for the library's security.

17
• A homepage with several navigational links leading to sites with
information on the date of issue, the date of return, the amount of any fines, etc.

• Columns where clients can request to have the book issued.

• Keeping track of the librarian's and other library staff members'


records. Users can easily generate reports.

• A student's feedback will be posted on a page that the college


administration will examine and monitor.

• Verify the library's location of the book.

• Alert messages when the book needs to be returned, when it was


purchased, and when new books are updated.

• User-friendly: The user can access current information from the


database immediately after submitting a query.

• As a result, the customer receives a response more quickly

18
CHAPTER 5
MODULE DESCRIPTION

IMPLEMENTATION AND SYSTEM ANALYSIS

 Search
Search engine as its core infrastructure to find and present
information from different data sources.

 Security
A security model is a computer model which is used to identify
and impose security policies. It does not require any prior formation it
may be founded on the access right model or distributing
computing model or computation model.

 Borrow item
For each member who borrows a book, the system stores book
ISBN, user ID, date issued, date due to return, date returned.
Again, all borrowing data should be stored into a separate file.
Also the number of available copies for that book should be
decremented. A member can not borrow more than 2 books at a
time.
 Return item
When a user return a borrowed book back to the library, the
entry for his borrowing action must be updated with the date
returned. Also for book entry; the number of available copies of
the book must be incremented.
 Report

19
A report is a highly structured piece of writing, designed so that
it can be read quickly, easily and accurately. Reports have clear
structures which make them easy to read; it is important that
you ensure that your report is easy to read as reports are not
necessarily read in consecutive order.
 Item management
Any book can have multiple copies, each copy will be
considered a book item in our system. Each book item will have
a unique barcode.
 Member management
All members can search the catalog, as well as check-out,
reserve, renew, and return a book.
 Author management
This class will encapsulate a book author.
 Publisher management

This section offers a quick-start guide to library publishing,


including recommendations for gaining traction for your
initiative, selecting appropriate technologies, developing
thoughtful policies and procedures, and developing
organizational and business models that position you for
success.

 Department management
A Departmental Library may be defined as a subject
collection in an academic institution, housed either in a
separate room of the main Library or in some building
outside the main Library and administered either as a part of

20
a centralized Library system or as a part of the academic
department it serves.
 Section management
The Section on Management of Library Associations includes
dynamic leaders from library associations who seek to advocate
for the interests, aspirations and concerns of the library
associations represented among IFLA members.
 Topic management
Management refers to series of functions for the organization
and administration of various activities and people in the
organization. Management is essential for all types of
organization and libraries are no exception.
 Shelf management
Shelf is when you read every call number on a shelf to ensure
that it is in the proper order.

21
CHAPTER 6

SYSTEM IMPLEMENTATION
FLUTTER
Flutter is an open source framework by Google for building beautiful,
natively compiled, multi-platform applications from a single codebase.

GOOGLE API
Cloud APIs allow you to automate your workflows by using your favorite
language. Use these Cloud APIs with REST calls or client libraries in popular
programming languages.

FIREBASE
Firebase is an app development platform that helps you build and grow apps
and games users love. Backed by Google and trusted by millions of businesses
around the world.

Fig 6.1 Authentication for sign in and login in page

22
Fig 6.2 Authentication for email verification and update.

EmailJS:

It allows sending email directly from Javascript, with no backend


development. The developers create one or more email templates (dynamic content
supported) and then trigger an email using our Javascript SDK, specifying the
template, and the dynamic parameters for rendering the email.

Fig 6.3Email API Templates

23
FLUTTER PACKAGES USED

 flutter_svg: ^1.1.6
 firebase_auth: ^4.1.0
 firebase_core: ^2.1.1
 flutter_launcher_icons: ^0.10.0
 google_sign_in: ^5.4.2
 provider: ^6.0.4
 flutter_bloc: ^8.1.1
 shared_preferences: ^2.0.15
 location: ^4.4.0
 flutter_polyline_points: ^1.0.0
 google_maps_flutter: ^2.2.1
 url_launcher: ^6.1.6
 geocoder2: ^1.4.0
 http: ^0.13.5
 google_fonts: ^3.0.1
 drop_cap_text: ^1.1.3
 firebase_messaging: ^14.0.4
 flutter_rating_bar: ^4.0.1

24
CHAPTER 7

SYSTEM DESIGN AND ANALYSIS

Fig 7.1 Flow Chart

EXISTING APPLICATION

Given the enormous volumes of data it must manage on a daily basis, a


library is an excellent option for an IT solution. The demands of book enthusiasts
are met in the library. In the existing arrangement, the books themselves include all
the information on the library's books. Before loaning the book to the student, the
user must be aware of its availability.

To find out the book's status, students must visit the library. In the
event that the book is unavailable, the student will place an advance reservation.
That function is broken in the current application because a student can use the
advance booking option for the same book once, twice, or more, and the person

25
who already owned the book can also utilize the functionality. The library is the
only place where students can find out the status of a book if they wish to.
Currently, the entire procedure is managed manually. This necessitates keeping
track of the questions submitted by the students in the paper.

ADVANTAGES OVER EXISTING SYSTEM

 The suggested method is automated, quicker than the current human


maintained application, and capable of handling data. Computerization
of member and book information.
 The system enables administrators to manage user roles and
accessibility.
 Maintenance time and expense are drastically cut back.
 At several levels, accurate information can be produced fast and
efficiently.
 Reports may be produced fast and effortlessly.

PROPOSED SYSTEM

The LIBRARY MANAGEMENT SYSTEM is a software application which


avoids more manual hours in taking the book, that need to spend in record keeping
and generating reports. Maintaining of user details is complex in manual system in
terms of agreements, royalty and activities. This all have to be maintained in
ledgers or books. Easy search of book in the online library.

 Avoid the manual work.


 User need not go to the library for Issue any kind of book, he can renewal the
book online.

26
CHAPTER 8
CONCLUSION AND FUTURE ENHANCEMENT

CONCLUSION
This study has highlighted the significance of digitization in today's
libraries. The library must offer digital services and content if it is to survive
today's difficulties ways to expand access to the library's resources and conduct
information searches. It is crucial for library directors. The mobile library app is an
additional and significant element that makes use of mobile technology to simplify
and improve access to library resources by offering support in a variety of ways
through services and connectivity.

FUTURE ENHANCEMENT
Future plans for this facility include the addition of many more features,
including the ability for teachers to add online lectures and video tutorials, as well
as the ability for students to submit assignments online. Another feature that could
be added is a group chat feature where students could discuss a variety of
engineering-related topics, making the project more interactive and better able to
meet the needs of each user.

27
APPENDICES
APPENDIX1
SOURCECODE
main.dart:
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:miniproject/auth_controller.dart';
import 'package:miniproject/colors.dart';
import 'package:miniproject/screens/SignUp/sign_up_screen.dart';
import 'package:miniproject/screens/login.dart';
import 'package:miniproject/splash_screen.dart';
import 'package:miniproject/welcome_screen.dart';
import 'package:get/get.dart';
import 'package:location/location.dart';
Future<void>main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp().then((value)=>Get.put(AuthController()));
runApp(const MyApp());}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {return GetMaterialApp(
debugShowCheckedModeBanner: false,
title: 'Bibliographic Repository', theme: ThemeData(fontFamily:
'AlbertSans',primaryColor: kPrimaryColor,scaffoldBackgroundColor:
Colors.white, ),
home: SplashScreen(), ); }}

28
welcome page :
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:miniproject/background.dart';
import 'package:miniproject/colors.dart';
import 'package:miniproject/screens/SignUp/sign_up_screen.dart';
import 'package:miniproject/screens/login.dart';
import 'background.dart';
import 'components/rounded_button.dart';
class Body extends StatelessWidget {
const Body({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;return Background(
child: SingleChildScrollView( child: Column(mainAxisAlignment:
MainAxisAlignment.center, children: [ const Text( 'Are We Curious ?', style:
TextStyle(fontWeight: FontWeight.bold,
fontSize: 30,color: kPrimaryColor,),),SizedBox(height: size.height*0.03,),
SvgPicture.asset('assets/icons/chat.svg',height: size.height*0.4,),
SizedBox(height: size.height*0.05,),RoundedButton(text: "LOGIN",press: (){
Navigator.push(context,MaterialPageRoute(builder: (context){return
LoginScreen();},),);},),
RoundedButton(text: "SIGN UP",color: kPrimaryLightColor,
textColor: Colors.black, press: (){
Navigator.push(context, MaterialPageRoute(builder: (context){ return
SignUpScreen();},),), },),],),),);}}

29
first_page :
import '../auth_controller.dart';
/*class FirstPage extends StatelessWidget {
const FirstPage({Key? key}) : super(key: key);@override
Widget build(BuildContext context) {return Container(child:
ElevatedButton(onPressed: () async {
AuthController.instance.logOut();
SharedPreferencessharedPreferences = await
SharedPreferences.getInstance();//sharedPreferences.remove('email');
sharedPreferences.clear();//Get.to(WelcomeScreen());
Navigator.pushReplacement(context, MaterialPageRoute(builder: (_){
return WelcomeScreen();}));},child: Text('Log out'),),); }}*/
class FirstPage extends StatelessWidget {const FirstPage({Key? key}) : super(key:
key); @override
Widget build(BuildContext context) {Size size = MediaQuery.of(context).size;
return Scaffold(backgroundColor: Color.fromRGBO(244, 243, 243, 1),
appBar: AppBar(backgroundColor: kPrimaryColor, elevation:
0,//brightness?:Brightness.lighttitle: Container(
width: size.width*0.1,child: Image.asset('assets/icons/logo.png'),),
actions: [ElevatedButton(onPressed: () async{
AuthController.instance.logOut();
final SharedPreferencessharedPreferences = await
SharedPreferences.getInstance();sharedPreferences.clear();
Get.to(WelcomeScreen());},child: Text('Log Out'), style:
ElevatedButton.styleFrom(
backgroundColor: kPrimaryColor,),),],), body: SingleChildScrollView(

30
child: SafeArea(child: Column(
mainAxisAlignment: MainAxisAlignment.center, children: [
Padding(padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 25),
//child: Text('EXPLORE YOUR CURIOSITY!', style: TextStyle(fontWeight:
FontWeight.bold, color: kPrimaryColor, fontSize: 30.0),),child: Column(
mainAxisAlignment: MainAxisAlignment.start, children: [
Text('Explore your',style: TextStyle(color: Colors.black87, fontSize: 25),),
SizedBox(height: 5,),
Text('CURIOSITY!',style: TextStyle(color: Colors.black87,fontSize: 40,
fontWeight: FontWeight.bold),), //SizedBox(height: 20,),],),),
SizedBox(height: size.height*0.005,),
Container(height: size.height, child: Column(
children: [GridView.count(
scrollDirection: Axis.vertical,shrinkWrap: true,crossAxisCount: 2,
//scrollDirection: Axis.vertical, //crossAxisSpacing: size.height*0.002, children: [
promoCard('assets/images/books.png','View Books',(){Get.to(() =>
Catalogue());}),
promoCard('assets/images/location.png','Location',(){Get.to(()
=>LocationScreen());}),//promoCard('assets/images/bookshelf.png','My
shelf',(){Get.to(()
=>LocationScreen());}),//promoCard('assets/images/qrCode.png','Scan
QR',(){Get.to(() =>LocationScreen());}),
promoCard('assets/images/hashtag.png','My Account',(){Get.to(()
=>addBooks());}),
promoCard('assets/images/message.png','Contact Us',(){Get.to(()
=>EmailQuery());}),],),
SizedBox(height: size.height*0.005,),

31
GestureDetector(
onTap: (){Get.to(() =>AboutUs());},child: Container(height: 140, width:
double.infinity, margin: EdgeInsets.all(15.0), decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.0), color: kPrimaryLightColor,),
child: Row(crossAxisAlignment: CrossAxisAlignment.center,
children: [Padding(padding: const EdgeInsets.only(left: 40.0),child: Container(
width: 100, height: 200, decoration: BoxDecoration(image: DecorationImage(
image: AssetImage('assets/images/informative.png'), fit: BoxFit.cover,),),),),
Text('About Us', style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 30,),),],),), )],),),], ),),),);}}
Widget promoCard(image,text,press){
return AspectRatio(
aspectRatio: 2.6/3,
child: GestureDetector(onTap: press,
child: Container( margin: EdgeInsets.all(10.0),
padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 7.0),
decoration: BoxDecoration( //border: Border.all(color: kPrimaryColor,
width: 1), color: kPrimaryLightColor,
borderRadius: BorderRadius.circular(20), image: DecorationImage( image:
AssetImage(image),),),
child: Align(alignment: Alignment.bottomCenter,
child: Padding(padding: EdgeInsets.only(bottom: 3.0),
child: Text(text,style: TextStyle(color: Colors.black87, fontWeight:
FontWeight.bold, fontSize: 15),),),),), ),);}

32
view books :
/*import 'package:biblio/add_books.dart';
import 'package:biblio/all_topic1.dart';
import 'package:biblio/API_services.dart';
import 'package:biblio/articles.dart';
import 'package:biblio/books.dart';
import 'package:biblio/borrowPage.dart';
import 'package:biblio/catalogue.dart';
import 'package:biblio/lists.dart';
import 'package:biblio/main.dart';
import 'package:biblio/main_page.dart';
import 'package:biblio/question.dart';
import 'package:biblio/recommended.dart';
import 'package:biblio/search.dart';
import 'package:biblio/Usermodel.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/src/widgets/basic.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:flutter/gestures.dart';*/
import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:intl/intl.dart';
import 'package:miniproject/screens/view%20books/question.dart';
import 'package:miniproject/screens/view%20books/recommended.dart';

33
import '../../colors.dart';
import 'all_topic1.dart';
import 'articles.dart';
import 'main_page.dart';
class Catalogue extends StatefulWidget {@override
State<Catalogue>createState() => _CatalogueState();}@override
class _CatalogueState extends State<Catalogue>
with SingleTickerProviderStateMixin {
TabController? _tabController;
@override void initState() {
super.initState(); _tabController = TabController(length: Tabs.length, vsync: this);
} List<Tab> Tabs = [
Tab( child: Text("All", style: TextStyle(fontWeight: FontWeight.bold, color:
text_color))),Tab(child: Text("Recommended", style: TextStyle(
fontWeight: FontWeight.bold, color: text_color))),
Tab(child: Text("Articles", style: TextStyle(
fontWeight: FontWeight.bold, color: text_color))),
Tab( child: Text("Question Papers", style: TextStyle(
fontWeight: FontWeight.bold, color: text_color))),];
List<Center> _views = [const Center(child: const Text('Content of Tab One')),
const Center(child: const Text('Content of Tab Two')),
const Center(child: const Text('Content of Tab Three')),
const Center(child: const Text('Content of Tab Four')),];
Widget build(BuildContext context) { var size = MediaQuery.of(context).size;
var height = size.height; var width = size.width;
return SafeArea( child: Scaffold(
backgroundColor: kPrimaryLightColor, body: Column(

34
children: [Stack(children: [
Positioned( top: 20, left: 20, child: GestureDetector(
onTap: () {Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (BuildContext context) => Topic1())); },
/*child: Text("Discover Latest Books", style: TextStyle( color: text_color,
fontWeight: FontWeight.bold,
fontSize: 20))*/ child: Row( children: [
SizedBox( width: size.width*0.9, child: TextField( enabled: false,decoration:
InputDecoration(border: OutlineInputBorder(
borderRadius: BorderRadius.circular(60.0),),
fillColor: Colors.white, filled: true, //border: InputBorder.none,
prefixIcon: Icon(Icons.search, color: Colors.black,),
hintText: "Discover Latest Books",
hintStyle: TextStyle(color: Colors.black),
),),),],),)),
Positioned( child: Container( margin: EdgeInsets.fromLTRB(20, 60, 20,
30),),),]),
DefaultTabController( length: Tabs.length, child: TabBar( controller:
_tabController,labelColor: text_color,unselectedLabelColor: k_prime_color,
indicatorColor: k_prime_color,isScrollable: true, tabs: Tabs,)),
Expanded( child: TabBarView( controller: _tabController, children: [
main_page(),recommended(),articles(),question(),],),),],),),);}}

35
google sign in :
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:miniproject/pages/first_page.dart';
import 'package:miniproject/welcome_screen.dart';
class AuthService{handleAuthState(){return StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),builder: (BuildContext
context, snapshot){if(snapshot.hasData){ return FirstPage();}
else{return WelcomeScreen();}});}
signInWithGoogle() async{final GoogleSignInAccount? googleUser = await
GoogleSignIn(scopes: <String>["email"]).signIn(); final
GoogleSignInAuthenticationgoogleAuth = await googleUser!.authentication;final
credential = GoogleAuthProvider.credential(accessToken:
googleAuth.accessToken,idToken: googleAuth.idToken,);return await
FirebaseAuth.instance.signInWithCredential(credential); }
signOut(){FirebaseAuth.instance.signOut();}}

36
APPENDIX2

SCREENSHOTS

fig 10.1 Main page fig 10.2 Login

37
fig 10.3 Sign up fig 10.4 Location

38
fig 10.5 Main Portal fig 10.6 View Books

39
fig 10.7 Borrow Books fig 10.8 About Us

40
fig 10.9 Contact Us fig 10.10 My Book Shelf

41
REFERENCES

 https://www.smartlibrarysoftware.com/smartlib-library-
managementsoftware-modules.php
 https://www.upgrad.com/blog/librarymanagement-system-project-in-java/
 https://github.com/aragon996/Library-Management-System---PHP-MySql
 Bao Sun, JiangweiFeng and Ling Liu, “A Study on How to Construct the
Prediction Model of Library Lending of University Library”, International
Conference on Information Science and Technology March 26-28, 2011
Nanjing, Jiangsu, China.
 Barve, S., &Dahibhate, N. B.,“Open source software for library
services”,DESIDOC Journal of Library & Information Technology,
32(5)(2012). Journal of Xi'an University of Architecture &
TechnologyVolume XII, Issue XI, 2020ISSN No : 1006-7930
 Bretthauer, D. “Open source software in libraries. Library Hi Tech News, 18
(5), 8-9(2001).
 Erxiang Chen,Minghui Liu,“Research and Design on Library Management
System Based on Struts and Hibernate Framework”, WASE International
Conference on Information Engineering2009.
 HonghaiKan,Zhimin Yang, Yue Wang, Nana Qi, “Research on Library
Management System for CDs Attached to Books Based on Cloud
Computing”, in Proceedings of the 14th International Conference on
Computer Supported Cooperative Work in Design 2010.
 JianhuZheng, YunqingFeng, Yun Zhao, “A Unified Modeling Language-
Based Design and Application for a Library Management Information
System”, in cybernetics and information technologies.

42
 Michael Hitchens, Andrew Firmage,“The Design of a Flexible Class Library
Management System”, in IEEE conference1998.
 WeihongYang,“Design and Implementation of Library Management
System”, International Conference on Management Science and Innovative
Education (MSIE 2015).

43

You might also like