You are on page 1of 26

Veer Narmad South Gujarat University,

Surat.
Minor Project Report

On

“GOBOOKNOW Application”

As a partial fulfillment For Degree of

Bachelor of Computer Application

T.Y.B.C.A(5 th Semester)

Year 2022-23

Submitted To:

Narmada College Of Science & Commerce, Zadeshwar,

Bharuch - 392001

Guided By: Develop By:

Mr.Ramnik.L.Gilatar Richa.B.Patel

1 | Page
2 | Page
 PREFACE:---

In this Android App, I have to made it easier than even your


journey and secure your prefer seats. this app to also allow them to
schedule their route, check seat availability, and even making different
types of payments modes.

This android app allow to client find all the key informance and
manage their bookings without troubling your staff. user can book Ticket
Any time and any wear you wish it.

Our user-friendly app offers similes booking experience & In


case user have some problem in that ticket cancellation option are
available in this app & some refund will be send to user some benefits: real-
time update,varitey of options and easy to access information.

3 | Page
 Acknowlegement

I present with immense pleasure the report on "GoBookNow". This mini project
report shall be incomplete if I do not convey our heartfelt gratitude to those people from
whom I have got considerable support and encouragement during this project many people
have helped, provided direction, technical information and advice at all stages of my project
and it's my pleasure to say what of thanks to all of them . however, with the help of my
project guide Mr. Ramnik L.Gilatar. It seems much more interesting doing this project
report than I expected.

Additionally, I am thankful to all the staff of computer department, and my friends to


whom I indebted or their constant help, encouragement and who normally support me and
without whom this project could not been success.

Also I am very much thankful for my college Narmada College of Science &
Commerce, Bharuch which provides me a good study environment. Besides my friends
showed their kindly help & support in my thesis, Because of them, living in Barouche and
studying in T.Y.B.C.A (sem-5) is a nice time.
Thanking You.

4 | Page
INDEX
Sr.No. Topic Page no.
1 Project Profile 6
2 Project Overview 7
3 Tools To be Used 8
3.1 Introduction 9
3.2 Android Studio 10
3.3 KOTLIN&XML 11

3.4 SQLite Database in Android 13


3.5 DB Browser 14
4 Goal of Project 15
5 Objective of Project 15
6 Scope of Project 16
7 Function to be performed 17
8 Module Specification 18
9 Database Design 19,20,21
10,11 ER Diagram and DFD 21,22
12 Interface Design & Description 23,24,25,26
13 Web Resources
27
14 Book Resources
27

5 | Page
 PROJECT PROFILE
Project Title Go Book Now

Project Description Gobooknow app is used to user can Easily browser and book ticket from the
comfort of their smart phone & traveler can save time by avoiding long quoes
and waiting times at bus stations .this app have many features like a Real-Time
updates,Seat Selections,Secure payment & Easy to access information

Front End Kotlin, XML

Back End SQLite Database

Documentation Tool MS Word, Smart Draw

Hardware Interface Processor: intel i5 11th generation or Higher


RAM : 8 GB or Higher
Laptop
Mouse
Hard disk or SSD: 255 GB
Operating System: Microsoft Windows 10/11(64bit)

Application Software Android Studio Giraffe 2022.3.1

6 | Page
PROJECT OVERVIEW:--

An Gobooknow Android app allow user to search box, book, and manage bus Ticket convenitely
Through their mobile device. These apps are some features to enhance productivity, including:

1. User Registration :-- users can create account.

2. Search and booking:-- search for bus, seat selection,and book tickets

3. Payment:-- Securely pay for tickets.

4. Confirmation :-- Receive booking confirmation ticket.

5. Bus Details:-- Access info about buses.

6. Booking History:-- view past booking and records.

7. Admin Control:-- admin manages bus schedules and user support.

8. Security :-- protect user data and payments.

9. Maintance :-- Regular update and improvement.

7 | Page
TOOLS TO BE USED
INTRODUCTION
FRONT END TOOLS:-
 Android Studio
 History of Android Studio
 Features of Android Studio
 Android Studio Version History
 KOTLIN in Android Development
 XML in Android Project

BACK END TOOLS:-


 SQLite Database in Android
 DB Browser
 History of DB Browser

FRONT END TOOLS


 ANDROID STUDIO

 What is an Android Studio?

The Android Studio is known as IDE, also known as an integrated development


environment.
This IDE works as a workshop that includes tools to help you build an android app.

An Android Studio shows you the real-time review of the app's design. The Android
Studio also checks for errors in your typing codes and helps you correct them by providing
necessary suggestions.

 History of Android Studio:

Android Studio is the official integrated development environment (IDE)


for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed
specifically for Android development. It is available for download
on Windows, macOS and Linux based operating systems. It is a replacement for the Eclipse
Android Development Tools (E-ADT) as the primary IDE for native Android application
development.

8 | Page
Android Studio was announced on May 16, 2013, at the Google VO conference. It was
in early access preview stage starting from version 0.1 in May 2013, then entered beta stage
starting from version 0.8 which was released in June 2014. The first stable build was released
in December 2014, starting from version 1.0.

 Features of Android Studio:


Following are the major features of Android Studio which are available in it's stable
versions:

 Gradle-based build support.


 Android-specific refactoring and quick fixes.
 Lint tools to catch performance, usability, version compatibility and other problems.
 Pro-Guard integration and app-signing capabilities.
 Template-based wizards to create common Android designs and components.
 A rich layout editor that allows users to drag-and-drop UI components, option to
preview layouts on multiple screen configurations.
 Support for building Android Wear apps.
 Built-in support for Google Cloud Platform, enabling integration with Firebase Cloud
Messaging (Earlier 'Google Cloud Messaging') and Google App Engine.
 Android Virtual Device (Emulator) to run and debug apps in the Android studio.
 It supports powerful languages like Java, C++, Kotlin, etc...

 Android Studio Version History:--

Version Release Date

1.0 December 2014

1.1 February 2015

1.2 April 2015

1.3 July 2015

1.4 September 2015

9 | Page
1.5 November 2015

2.0 April 2016

2.1 April 2016

2.2 September 2016

3.0 October 2017

3.1 March 2018

3.2 September 2018

3.3 January 2019

3.4 April 2019

3.5 August 2019

3.6 February 2020

4.0 May 2020

4.1 Oct 2020

4.2 May 2021

Arctic Fox July 2021


(2020.3.1)

Bumblebee January 2022


(2021.1.1)

Chipmunk May 2022


(2021.2.1)

Dolphin TBD
(2021.3.1)

10 | Page
Electric Eel TBD
(2022.1.1)

Giraffe 2023

3.3 KOTLIN IN ANDROID DEVELOPMENT


Kotlin is a popular programming language for Android app development. It was officially
endorsed by Google as a first-class language for Android development in 2017, and since then, it
has gained widespread adoption in the Android development community. Here's an overview of
Kotlin in Android development:

1. Conciseness and Readability: Kotlin is known for its concise and expressive syntax. It reduces
boilerplate code and makes code more readable, which can lead to increased developer
productivity and fewer errors.

2. Interoperability: Kotlin is fully interoperable with Java, which means you can use Kotlin and
Java code together in the same project without any issues. This makes it easier for developers to
transition from Java to Kotlin or work on projects that use both languages.

3. Null Safety: One of the most significant advantages of Kotlin is its built-in null safety features.
In Kotlin, you must explicitly declare whether a variable can be null or not, which helps prevent
null pointer exceptions, a common source of crashes in Android apps.

4. Extension Functions: Kotlin allows you to add functions to existing classes without modifying
their source code. This feature, called extension functions, is particularly useful for enhancing
existing Android framework classes.

5. Functional Programming: Kotlin supports functional programming features, such as higher-


order functions and lambdas, which can simplify asynchronous programming and make code
more concise.

6. Coroutines: Kotlin's native support for coroutines simplifies asynchronous programming in


Android. Coroutines make it easier to write asynchronous code that is both efficient and
readable.

7. Data Classes: Kotlin's data classes are concise and designed for defining classes that primarily
hold data. These classes automatically generate useful methods like `equals()`, `hash Code()`,
and `to String()`, which can simplify working with data in Android apps.

11 | Page
8. Smart Casts: Kotlin's type system is designed to be more expressive, which often leads to
more concise and safer code. Smart casts allow you to automatically cast a variable to a more
specific type when certain conditions are met.

9. Android KTX: Android KTX (Kotlin Extensions) is a set of Kotlin extensions designed to
improve the Android development experience. It provides Kotlin-friendly extensions for
common Android libraries and APIs, making code even more concise and readable.

10. Strong Community: Kotlin has a strong and active community of developers, which means
you can find plenty of resources, libraries, and support when working with Kotlin for Android
development.

To start using Kotlin for Android development, you'll need to install Android Studio (the official
IDE for Android development) and make sure you select Kotlin as the programming language
when creating a new Android project. You can then gradually migrate existing Java code to
Kotlin or start writing new code in Kotlin.

Overall, Kotlin has become the preferred choice for many Android developers due to its modern
features, improved safety, and enhanced developer experience compared to Java.

XML IN ANDROID PROJECT


XML stands for extensible Markup Language. It was designed to store and transport data. It is a text
based markup language derived from Standard Generalized Markup Language (SGML). XML tags identify
the data and are used to store and organize the data, rather than specifying how to display it like HTML tags,
which are used to display the data. There are some advantages and disadvantages of using XML.

 Some Features of XML:-

 XML is platform independent and programming language independent, thus it can be used on
any system and supports the technology change when that happens.

 XML supports unicode. Unicode is an international encoding standard for use with different
languages and scripts, by which each letter, digit, or symbol is assigned a unique numeric value
that applies across different platforms and programs. This feature allows XML to transmit any
information written in any human language.

 The data stored and transported using XML can be changed at any point of time without
affecting the data presentation. Generally other markup language such as HTML is used for data
presentation, HTML gets the data from XML and display it on the GUI (graphical user interface),
once data is updated in XML, it does reflect in HTML without making any change in HTML GUI.

 XML allows validation using DTD and Schema. This validation ensures that the XML
document is free from any syntax error.

12 | Page
 XML simplifies data sharing between various systems because of its platform independent
nature. XML data doesn't require any conversion when transferred between different systems.

BACK END TOOLS

3.4 SQLITE DATABASE IN ANDROID


SQLite is a Structure query base database, open source, light weight, no network access and
standalone database. It support embedded relational database features.

SQLite is an open-source relational database i.e. used to perform database operations on android
devices such as storing, manipulating or retrieving persistent data from the database.

It is embedded in android by default. So, there is no need to perform any database setup or
administration task. SQ Lite Open Helper class provides the functionality to use the SQLite database in
Android studio. Basically SQLite does not validate datatypes by itself. In other words, whatever datatypes
are used, they are termed as valid.

3.5 DB BROWSER
 History of DB Browser:
DB Browser for SQLite, formerly known as "SQLite Database Browser," is an open-
source, visual tool used for creating, designing, and editing SQLite database files. SQLite is a
popular and embedded relational database management system, and DB Browser for SQLite
is designed to provide a user-friendly interface for working with SQLite databases. Here is a
brief history of DB Browser for SQLite:

1. Early Development: The project that would later become DB Browser for SQLite
started in the mid-2000s. The original project was called "SQLite Database Browser" and
was created by Mauricio Piacentini. It was initially developed to provide an easy-to-use
graphical interface for working with SQLite databases.

2.Open Source: The SQLite Database Browser project was open-sourced from the
beginning. This decision allowed the broader development community to contribute to its
improvement and expand its features.

3. Renaming to DB Browser for SQLite: In 2014, the project was renamed "DB
Browser for SQLite" to avoid potential confusion with the SQLite database engine itself. This

13 | Page
name change also helped emphasize its focus on being a dedicated tool for managing SQLite
databases.

4. Cross-Platform Support: DB Browser for SQLite was developed to be cross-


platform, with versions available for Windows, macOS, and various Linux distributions. This
broad platform support made it accessible to a wide range of users.

5. Community Contributions: Over the years, the project received contributions from
many developers worldwide. These contributions helped improve the tool's functionality, fix
bugs, and enhance the user interface.

6.Regular Updates: DB Browser for SQLite has been actively maintained and received
regular updates to keep it compatible with newer versions of SQLite and to incorporate user-
requested features.

7. User-Friendly Interface: The tool's interface was designed to be user-friendly and


intuitive, making it suitable for both beginners and experienced database developers. It
includes features like table creation, data manipulation, and the ability to run SQL queries.

8. Integration with Other Tools: DB Browser for SQLite is often used in conjunction
with various programming languages and frameworks that utilize SQLite as a backend
database. It is a helpful tool for examining and modifying the data stored in SQLite databases
used by applications.

9. Community Support: The project maintains an active online community where


users can seek help, report issues, and share their experiences with the tool. This community
support has contributed to its ongoing development and improvement.

DB Browser for SQLite continues to be a valuable resource for developers and


database administrators working with SQLite databases. Its history reflects its evolution from
a simple open-source project to a feature-rich and user-friendly tool that simplifies working
with SQLite databases on multiple platforms.

14 | Page
 GOAL OF PROJECT :--

The goal of an online bus ticket booking android app is to make

It Easily and convenient for user to search buses , book tickets, and

Manage their journey through android devices.

The Main goal of gobooknow app the ticket booking processs, saving user

time and efforts. And Ensure secure & reliable payment , ticket confihurations,.

Customer supports, user friendly experience.

OBJECTIVES OF THIS PROJECT:--


 This objective of gobooknow android app is to provide users with a convient
And efficient way to search for, select and purchase bus tickets using android
devices the go book now android app to give information to users about upcoming
routes, bus facilities, journey schedules, and other things relevant to the passengers'
journeys.

15 | Page
 The main objective of bus ticket is to manage the bus ,ticket ,sea t,agent & all
details to be include in like bus , users.

 Scope of project:--

 The scope of an gobooknow android app including User


registration & login, bus search, Seat reservations, booking ,
payment , booking history, user account, bus schedules,
customer support, admin panel.

 The scope of the app in both user and admin to easily manage their
work.

16 | Page
 FUNCTIONS TO BE PERFORMED:---

Functions performed by a GOBOOKNOW android app include:

1. User sign in & login:-- allow to user create account.

2. Bus search :-- find available bus.

3. Seat Selection:-- allow to user to select their preferred seats on


the bus , posibile with seat.

17 | Page
4. Booking & Payment:-- Enable user to book bus tickets, choose
payment options

5.Cancellation :-- users to cancel ticket of any issues few case refund
is applicable.

6. Real – Time updates:- show real – time update to seat avabilty.

MODULE SPECIFICATION:----

 Here are some modules:--

1. User management :-- User sign in , User Login, profile.

2. Search & Booking :-- Bus search, Seat Selection, booking


confirmations, payment.

3. Booking management :-- History, Cancellation

4. Bus :- bus details , features.

5. User support :- email, phone

18 | Page
6. Security:- payment

7. Ticket cancellation:-- refound available

8. Multiple Payment Option :- card(debit/credit) & UPI.

9.Discounts :- diacounts & offers.

10. Real – time update :- - user can update the bus details.

 DATABASE DESIGN:--

USER TABLE:--

Column Data Allow Description


Name Type NULL

User Id Varchar Not null Primary key


Uname Varchar Not null
Phone NO Integer Not null
Email Varchar Not null
Password Varchar Not null

19 | Page
BOOKING TABLE:--
Column Name Data Type Allow NULL Description

Bookind_id Integer Not null Primary key


User Id Varchar Not null Foreign key

Bus_id Integer Not null

Ticket Quantity Integer Not null


Booking Date date Not null
Number of seats Integer Not null

Total amount Integer Not null

BUS TABLE:-
Column Name Data Type Allow NULL Description

Bus_id Integer Not null Primary key


Bus no varchar Not null
Bus_Type varchar Not null
Seat Selction Integer Not null
Source varchar Not null
Destination varchar Not null
Route id Integer Not null Foreign key

ROUTE TABLE:--
Column Name Data Type Allow NULL Description

Route id Integer Not null Primary key


Bus_id Integer Not null foreign key

20 | Page
Source varchar Not null
Destination varchar Not null
Time Date and time Not null

DETAILS TABLE:--
Column Name Data Type Allow NULL Description

Booking PNR no Integer Not null Primary key

Seat no Integer Not null


Date Date Not null
Source varchar Not null
Destination varchar Not null
Bus_id Integer Not null foreign key
Bus_Type varchar Not null
PASSENGER TABLE:--

Column Name Data Type Allow NULL Description

Booking PNR no Integer Not null Primary key


AGE Integer Not null
Gender Varchar Not null
Seat no Integer Not null
Seater Varchar Not null

 ER DIAGRAM

21 | Page
E-R (Entity-Relationship) Diagram is used to represents the relationship between entities in the table.

ER Notations:-

There is no standard for representing data objects in ER diagrams. The symbols used for the basic ER
constructs are:

 Entities are represented by labeled rectangles. The label is the name of the entity. Entity names
should be singular nouns.

 Relationships are represented by a solid line connecting two entities. The name of the relationship
is written above the line. Relationship names should be verbs

 Attributes, when included, are listed inside the entity rectangle. Attributes which are identifiers are
underlined. Attribute

22 | Page
 INTERFACE DESIGN :--

23 | Page
 SIGN IN PAGE:--

If new customer wants to enter into gobooknow App then he/she will fill its registration
form. After filled registration form user details will be check and if any fields are empty
then user will be message will be displayed “SIGN IN successfully” And user navigate to
login page.

 LOGIN PAGE:--

24 | Page
If user has already an account then user has to directory login into this
app and if new user has successfully registed himself/herself then he will be
Navigate here automatically.

User has enter email id/ username and password which user create
account in this app. Details are connect in that case message display
“LOGIN SUCESSFULLY.

25 | Page
 WEB RESOURCES

The following website were referred during the analysis and execution phase of
the project,
 https://www.javatpoint.com/android-tutorial
 https://www.tutorialspoint.com/android/android studio.htm
 https://www.tutorialspoint.com/android/index.htm
 https://www.w3schools.in/android/tutorials/
 https://www.codewithharry.com/

 BOOK RESOURCES

The following books were referred during the analysis and execution phase of the project,

 Android Programming with Kotlin for Beginners by John Horton


 Android Application Development (With KitKat Support), Author: Pradeep
Kothari, Publisher: Dream Tech Press., ISBN:- 978-9351194095
 Android SQLite Essentials(2014), Authors: Sunny Kumar Aditya and Vikash Kumar
Karan

26 | Page

You might also like