1.1 Objective Library Management Application

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 34

CHAPTER 1

INTRODUCTION

1.1 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
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.
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.

2.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.

2.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.
2.3 ENHANCED LIBRARY MANAGEMENT APPLICATION
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.

2.4 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.
 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
ry-management-system entities detailed video
projectreport/ content
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

2.5 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.

2.6 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
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 Is. All login,
signup, and validation user credentials have undergone Firebase authentication. The
user interface (UI) design of the program necessities the downloading and importing
of numerous modules for fonts and other design elements. Libraries that recently
switched to opensource 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 neighbourhood public libraries in order to pool resource and take
advantage of the Evergreen Integrated Library Application’s open source nature to
suit their unique requirements.
CHAPTER 4
PROBLEM DESCRIPTION

4.1 PROBLEM STATEMENT

Enhanced Library Management Application by using flutter

4.2 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.


• 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


CHAPTER 5
MODULE DESCRIPTION

5.1 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
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
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.
CHAPTER 6
SYSTEM IMPLEMENTATION

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

6.2 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.

6.3 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


Fig 6.2 Authentication for email verification and update.

6.4 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.3 Email API Templates


6.5 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
CHAPTER 7
SYSTEM DESIGN AND ANALYSIS

Fig 7.1 flow chart

7.1 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
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.

7.2 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.

7.3 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.
CHAPTER 8

CONCLUSION AND FUTURE ENHANCEMENT

8.1 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.

8.2 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.
APPENDICES
APPENDIX 1
9.1 SOURCE CODE
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';
import 'package:firebase_core/firebase_core.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(), );
}}

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();},),), },),],),),);}}
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(
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,),
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),),),),), ),);}
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';
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(
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(),],),),],),),);}}
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();}}
APPENDIX 2
9.2 SCREENSHOTS

Fig 9.1 Main page Fig 9.2 Login


Fig 9.3 Sign up Fig 9.4 Location
Fig 9.5 Main Portal Fig 9.6 View Books
Fig 9.7 Borrow Books Fig 9.8 About Us
Fig 9.9 Contact Us Fig 9.10 My Book Shelf
REFERENCES
 https://github.com/arafaysaleem/library_management_system
 https://github.com/GDSC-KIIT/Library-Management-
System-Flutter
 https://github.com/afgprogrammer/flutter_expense_manager
 https://github.com/debaghosh/Flutter-Profile-UI
 https://levelup.gitconnected.com/fluttering-dart-libraries-and-
packages-972edf864ff9
 https://morioh.com/p/d4b2577c5fa0
 https://medium.com/geekculture/7-useful-flutter-libraries-
you-should-use-in-your-next-project%E3%83%BCpart-4-
864e0979aa32
 https://projectworlds.in/tag/flutter-project-on-library-
management-system-with-sms-autoreply/
 https://ijarsct.co.in/Paper4253.pdf
 https://codecanyon.net/category/mobile/flutter?term=library
%20books
 https://devlibrary.withgoogle.com/products/flutter/repos/
JideGuru-FlutterEbookApp
 https://proandroiddev.com/flutter-book-app-part-4-from-
demo-to-real-app-ec9026b3c303

You might also like