0% found this document useful (0 votes)
54 views61 pages

FIXGO Doc Saneen

Uploaded by

Saneen V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views61 pages

FIXGO Doc Saneen

Uploaded by

Saneen V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 61

PROJECT REPORT ON

FIXGO – CAR ONLINE SERVICE BOOKING


Submitted By
SANEEN V (EMAUSCS050)
Under the guidance of
Prof. RIYAD AM
Head of the Department, Department of Computer Science

Submitted in partial fulfilment of the requirements for the Award of Degree

Computer Science

Of
University of Calicut
APRIL 2023
Department of Computer Science
EMEA COLLEGE OF ARTS AND SCIENCE, KONDOTTY
PH: 0483-2712030, EMAIL: [email protected]

1
Certificate

This is to certify that the project work titled: "FIXGO- CAR ONLINE SERVICE
BOOKING by SANEEN V (EMAUSCS050)”in partial fulfilment of BSc. Computer
Science examination and has been carried out under my direct supervision and guidance. This
report or a similar report on the topic has not been submitted for any other examination and does
not form any other course undergone by the candidate.

Signature of Principal Signature of Guide/Supervisor

Signature of Head of the Department

Place:
Date :

2
DEPARTMENT OF COMPUTER SCIENCE

Certificate

This is to certify that the project work titled: "FIXGO- CAR ONLINE SERVICE
BOOKING by SANEEN V (EMAUSCS050) of sixth semester Computer Science for
the project.
viva held on ............................... 2023 at EMEA COLLEGE Computer lab.

Signature of Guide/Supervisor

Signature of Examiners

1………………….

2………………….

3
ACKNOWLEDGEMENT

I express my sincere thanks to LT.ABDUL RASHEED P Principal EMEA College of


arts & science, Kondotty to give me an opportunity to do my project in the Computer Lab. I
extremely grateful to Professor. RIYAD AM Head of the Department of the Computer
Science for his cooperation.
My special thanks to the service and co-operation rendered by the people who did their best to
shape out my project. It is not possible to point out the assistance provided by them all.

I also acknowledged for the comments and suggestions from the members of EMEA
College of Arts & Science, Kondotty . Each faculty of colleges and friends who
encountered and helped me in marking the project work as success.

By
SANEEN V (EMAUSCS050)

4
TABLE OF CONTENTS

Title Page No

1. INTRODUCTION 7

1.1 Abstract 8

1.2 Modules 8

1.2.1 Module details 9

2. PROBLEM DEFINATION AND METHODOLOGY 11

2.1 Problem description 12

2.2 Need and significance 14

2.3 Objectives 14

3. REQUIRMENT ANALYSIS AND SPECIFICATION 15

3.1 Existing system 16

3.2 Proposed system 16

3.3 Developing tools 18

3.4 System specification 22

3.5 SRS 23

3.6 Feasibility study 23

4. DESIGNING AND DEPLOYMENT 25

5
4.1 Input design 26

4.2 Output design 27

4.3 Database Design 27

4.4 DFD 28

5. CODING
31
5.1 Codes (sample)

6. TESTING AND IMPLIMENTATION 52

6.1 System testing 53

6.2 Testing strategy 54

6.3 System implementation 57

7. MAINTENANCE AND SECURITY

7.1 System maintenance 58

7.2 System security 60

8. CONCLUSION 61

9. BIBLIOGRAPHY 63

10. ANNEXTURE 65

6
7
1.INTRODUCTION
1.1ABSTRACT
“FIXGO” is a mobile application designed to cater to the needs of car owners by
providing them with a platform for booking car workshop services and shopping for car
accessories. The app has been developed to address the challenge of finding reliable and
efficient car workshops and accessories stores.
Car owners often struggle with finding the right car workshops to service their vehicles. This
can lead to frustrations such as delays in repairs, subpar workmanship, and inflated prices.
With Fixgo, car owners can book their workshop services online from a wide selection of
verified car workshops. The app provides a user-friendly platform that allows users to
compare prices, services, and reviews from various workshops, making it easier for them to
make informed decisions.
In addition to booking workshop services, Fixgo also offers a shopping feature for car
accessories. Car owners can browse through an extensive collection of car accessories and
make purchases through the app. This eliminates the need to visit physical stores, saving time
and effort.
Moreover, Fixgo provides real-time updates on the status of car repairs and ensures
transparency in the billing process. It also offers a payment gateway for secure transactions,
making the overall experience hassle-free and convenient for users.
In conclusion, Fixgo is a much-needed app for car owners who want to ensure that their
vehicles receive the best possible care. It provides a one-stop solution for booking workshop
services and shopping for car accessories, making it a must-have app for all car enthusiasts.

1.2MODULES
The complete project is divided into three modules. And the modularisation is
based on the type of the users in the system. The modules are:
 User
 Shop owner
 Admin

ADMIN
 View and approve the registering users
 Verify workshop
 View complaints
 View reviews and reply
 Handling complaints
 Maintaining updates

8
SHOP OWNER
 Register the shop
 Provide shop details
 Adding services available and Details of the services
 Adding Accessories
 Handling bookings
 Handling shipping of accessories
 Provide employee information
 Keep records of booking and shipped products
 View feedbacks

USER
 Register
 View workshop
 Buy the accessories
 View services and booking
 View accessories and add to cart
 Write complaints and reviews
 Request additional service
 Call the needed workers and ask help
 Call worker and request service
 View booking history
 View products ordered

1.2.1 MODULE DETAILS

The complete project is divided into three modules. Modules and the objectives have
briefly explained above. The working of each modules are such as:

ADMIN

Admin is an interface, if you will, that allows you to manipulate and manage your app’s data to
power user-related functions, handle transactions, and track performances. admin panel to
manage and make changes to their app. Here Admin can see registered users. Also view the
details of workshop provided and according to needs admin can also edit the details. Admin
also views the services provided by owners. If any error occurs he can interfere and solve in
case of functioning. Admin can also view complaints of users and update/modify app according
to their review.

SHOP OWNER

9
Shop owner is the owner and manager of the workshop. As per the request of owner an online
platform of their shop is implemented by admin. An shop owner has to provide shop details and
overall app structure to admin. Admin gives a login page to owner. A shop owner can add services
and accessories that are available in shop .He have to add details and price of each services and
accessories along with it. He can schedule the booking of services according to customer order. He
can also confirm the service by calling their number. He can keep records of services booked and
pending services and provided service. Therefore he can keep a financial tracks. He have to provide
employee details to users.

USER
A single store can have multiple users that can log in to assist with the day-to-day functions of
managing a store or for a specific role. Each user should have their own account, with permissions
limited to only their areas of responsibility. A user have to register in the app to continue the usage of
application. After confirming login he can utilize the benefits of app. The application provides the
services, accessories and their details that are available at the store. He can view and Acknowledge
about the availabilities in the store. The app shows details of services such as price, time taken for the
service, warranty of the service, Time of next service, or any other facilities available and
activities/sections included in it in service section. On accessories section shows the price and
specification of products. A user can add products to cart and buy later. The app provides online
delivery of products to your door step. It also provides information of employees with their section
and contact. App allows user to call the operator and ask for help/services. If car stops work at
midway or if car doesn’t start at home we can call labour and request for service and provide location
information. In profile of user shows the details of product history(the products you have
purchased),Booking history(the services you have booked), feedback(you can write review/ comment
on service/product/application to owner),you can invite a friend, and logout from application. user can
also proceed to buy from cart. This application provides the booking according to users spare time and
time estimation of service. Therefore easily manage time efficiently for workers and users.

10
2.PROBLEM DEFINITION AND METHEDOLOGY
2.1 PROBLEM DESCRIPTION
Car owners often struggle waiting in car workshops to service their vehicles. This can lead to
frustrations such as delays in repairs, subpar workmanship, and inflated prices. With Fixgo,
car owners can book their workshop services online. The app provides a user-friendly
platform that allows users to acknowledge prices, services, and reviews from various users,
making it easier for them to make informed decisions.
Waiting in a car workshop can be a tedious and frustrating experience, but it is a necessary
part of owning a vehicle. Whether you are waiting for routine maintenance or repairs, there
are several ways to make the most of your time.
Firstly, it is important to arrive at the workshop with a clear understanding of the services that
you need. This can help to streamline the process and reduce the amount of time that you
spend waiting. You can also inquire about the estimated time frame for completion and plan
your day accordingly.
In addition to booking workshop services, Fixgo also offers a shopping feature for car
accessories. Car owners can browse through an extensive collection of car accessories and
make purchases through the app. This eliminates the need to visit physical stores, saving time
and effort.
A car that suddenly shuts off while driving can be very frustrating. It interrupts the smooth travelling.
To fix car rapidly we need a car Mechanic. FIXGO provides information of workers. We can
specifically select mechanic according to section and call them.
Firstly, online car service booking has made the process of reserving a car much easier and
more convenient for customers. With just a few clicks, customers can book a car service from
the comfort of their own homes or offices. They no longer have to spend time traveling to a
physical location or wait on hold on the phone. This has saved customers both time and
effort, and has made the booking process more efficient.

Secondly, online car service booking has made the industry more competitive. With the rise
of online booking platforms, new entrants have been able to enter the market and offer their
services to a wider audience. This has resulted in increased competition among car service
providers, which has led to better prices and more options for customers. Additionally, online
booking platforms have made it easier for customers to compare prices and services from
different providers, which has made the market more transparent and customer-friendly.

Thirdly, online car service booking has improved the customer experience by providing
greater flexibility and customization. Online platforms allow customers to choose the type of
vehicle they want, the time and date of their trip, and the specific services they require, such
as airport pick-up or a luxury car. This has made the service more tailored to the needs of
each customer, resulting in a more satisfying experience overall.

Finally, online car service booking has improved safety and security for both customers and
drivers. Online platforms allow customers to track the progress of their ride, view the driver's

11
information, and provide feedback after the trip. This has increased accountability and
transparency in the industry, which has led to better quality service and greater peace of mind
for customers.

In conclusion, the significance of online car service booking cannot be overstated. It has
transformed the industry by making the booking process more convenient, the market more
competitive, the service more customized, and the experience more satisfying for customers.
It has also improved safety and security for both customers and drivers, and has created new
opportunities for entrepreneurs and startups. As technology continues to evolve, it is likely
that online car service booking will become even more sophisticated and widespread, further
changing the transportation landscape as we know it.

The provision of worker's contact information is essential for various reasons. we will explore
the significance of providing worker's contact information and how it can benefit both the
employer and employee.

Firstly, providing worker's contact information allows employers to communicate effectively


with their employees. Employers need to be able to contact their employees in case of
emergencies, changes in work schedules, or to provide important information. By having
accurate contact information for their employees, employers can quickly and easily reach
them when necessary. This ensures that important information is communicated in a timely
manner, preventing any potential confusion or delays.

Secondly, worker's contact information allows employees to stay informed about their
workplace. By providing their contact information, employees can receive updates on
company policies, new procedures, and upcoming events. This can be particularly important
for remote workers who may not have regular face-to-face contact with their colleagues or
managers. By staying informed, employees can feel more connected to their workplace and
be better equipped to perform their jobs effectively.

Thirdly, worker's contact information can also help facilitate teamwork and collaboration.
When employees have access to each other's contact information, it becomes easier to
coordinate work and communicate with each other. This can be especially important for
projects that require collaboration between multiple teams or departments. By having the
ability to contact each other easily, employees can work more efficiently and effectively
together.

Lastly, worker's contact information can also be useful in case of emergencies. In the event of
a workplace emergency, employers need to be able to quickly and easily contact their
employees to ensure their safety. By having accurate contact information, employers can
quickly reach their employees and provide them with instructions on how to respond to the
emergency. This can help minimize the risk of injury or damage to property.

In conclusion, providing worker's contact information is essential for effective


communication, staying informed about the workplace, facilitating teamwork and
collaboration, and ensuring the safety of employees in case of emergencies. Employers
should make it a priority to collect accurate contact information from their employees and

12
keep it up-to-date. Similarly, employees should ensure that their contact information is
accurate and regularly updated. By doing so, both employers and employees can benefit from
improved communication and a more efficient and effective workplace.

2.2NEED AND SIGNIFICANCE

• It reduces the manual effort to gather information.


• Time saving.
• Provide available time of the services.
• User can send request for booking the service.

2.3OBJECTIVES
• It computerizes the car workshop time booking system.
• Shop owners can register their service in the site.
• It contains all service details.
• User can send the request for service in the app.
• User friendly.
• Easy to handle, update, keep record.
• Provide security.

13
3.REQUIRMENT ANALYSIS AND SPECIFICATION

3.1 EXISTING SYSTEM

The lack of an online car workshop booking app can cause several drawbacks for both car
owners and auto repair shops. Without an online booking system, car owners may have to
physically visit the workshop or make phone calls to schedule appointments, which can be
time-consuming and inconvenient. This may also lead to miscommunication,
misunderstandings, and disputes regarding repair costs and timelines.

For repair shops, not having an online booking app can result in inefficiencies, such as
overbooking or delays, which can negatively impact customer satisfaction and retention.
Without an online system, repair shops may also miss out on potential customers who prefer
the convenience of booking appointments online. Additionally, without an online system to
track appointment and repair history, both car owners and repair shops may have difficulty
keeping track of past services, which can impact future maintenance and repairs.

Overall, the lack of an online car workshop booking app can hinder the efficiency and
effectiveness of the automotive industry, making it essential to have such a system in place to
streamline the booking process and enhance the customer experience.

3.2 PROPOSED SYSTEM


An online car workshop booking app is a tool that enables car owners to book services and
repairs for their vehicles easily and efficiently. The need for such an app has increased
significantly in recent years due to the growth of the automotive industry and the increasing
complexity of modern cars. With the help of an online booking app, customers can schedule
appointments, track the status of their repairs, receive notifications, and make payments
securely.

The benefits of using an online car workshop booking app are numerous. Firstly, it saves time
and effort for both customers and workshops. Customers can quickly find available slots for
their desired services and book them in just a few clicks, without having to make multiple
phone calls or visits to the workshop. Workshops, on the other hand, can better manage their
schedules, reduce wait times, and avoid overbooking.

Secondly, an online booking app provides greater transparency and convenience for
customers. They can track the status of their repairs, receive updates on the estimated time of
completion, and even receive photos or videos of the work being done. Customers can also
pay for services through the app, making the entire process much more convenient.

14
Lastly, an online car workshop booking app can help workshops to improve customer
satisfaction and loyalty. By providing a seamless and hassle-free booking experience,
workshops can build trust with their customers and encourage them to return for future
services.

In summary, an online car workshop booking app is an essential tool for modern car owners
and workshops. It provides a convenient and efficient way to book services, improves
transparency and communication, and can help build stronger relationships between
customers and workshops.

15
3.3DEVELOPING TOOLS
3.31FRONT END: FLUTTER
Flutter is a UI toolkit that enables developers to build high-performance mobile, web, and
desktop applications from a single codebase. Created by Google, Flutter uses the Dart
programming language and provides a reactive programming model that simplifies building
complex user interfaces. It includes a wide range of customizable widgets, supports hot reload
for rapid iteration and debugging, and has a strong community with a wealth of resources and
packages. Flutter also provides native performance, with no compromise on app quality or
user experience.
Flutter's architecture is built on the Dart programming language, which makes it different
from other mobile development frameworks such as React Native or Xamarin. The Dart
language is easy to learn, and it comes with many features that make it an ideal choice for
developing applications with Flutter. Dart has a just-in-time (JIT) compiler, which makes the
development process faster, and it also has a garbage collector that makes memory
management easier for developers.

Another significant advantage of Flutter is its support for various development tools and
libraries. It has an extensive range of packages available, which makes it easy to integrate
different functionalities into the app. For example, developers can easily integrate Google
Maps, Firebase, or other third-party libraries to their app with just a few lines of code.
Moreover, Flutter has an excellent documentation system that helps developers to find the
right packages and libraries for their needs.

Flutter also provides a rich set of testing tools that help developers to ensure the quality of
their code. Flutter's built-in testing library enables developers to write unit tests, widget tests,
and integration tests, which help to detect and fix bugs quickly. Flutter's testing tools also
support a range of testing frameworks, such as Mockito and Flutter Driver, which further
extend its testing capabilities.

Importance of Flutter:
Flutter has become increasingly important in mobile app development due to its ability to
create high-quality, performant, and beautiful apps quickly and efficiently, with a single
codebase. Its cross-platform nature, hot reload feature, and wide range of customizable
widgets make it a popular choice for developers and businesses alike.
One of the primary advantages of Flutter is its ability to create beautiful and highly
customizable user interfaces. The framework has a rich set of pre-built widgets that allow
developers to create visually appealing interfaces quickly. These widgets are highly
customizable, and developers can tweak their appearance and functionality to suit their
specific needs. Additionally, Flutter's support for hot reloading enables developers to view
changes made to the UI in real-time, making the development process faster and more
efficient.

Another significant advantage of Flutter is its cross-platform capabilities. With Flutter,


developers can create mobile applications that run seamlessly on both Android and iOS
platforms without having to write separate codebases. This ability saves developers time and
effort, as they can create one application that works on multiple platforms. Additionally,

16
Flutter's support for web, desktop, and embedded devices extends the reach of an application
even further, making it possible for developers to create applications that work on a wide
range of devices.

In terms of performance, Flutter is highly optimized and can produce applications that are
both fast and responsive. Flutter achieves this by using Dart, a language that compiles to
native code, making it highly efficient. Additionally, Flutter's widgets are optimized for
performance, and the framework's architecture ensures that only the necessary parts of an
application are loaded into memory. These features make Flutter an ideal choice for creating
high-performance applications that require a smooth user experience.

Furthermore, Flutter has a vibrant community of developers that are continually contributing
to the framework's development. The community is constantly sharing knowledge, building
plugins, and developing new features that extend the functionality of the framework. The
Flutter community is also highly supportive, and developers can easily access resources and
help from other members when they encounter problems.

In conclusion, Flutter is a critical tool for mobile application development. Its ease of use,
cross-platform capabilities, performance, and supportive community make it an ideal choice
for creating high-quality mobile applications. Flutter is also constantly evolving, and
developers can expect the framework to continue improving in the future. With Flutter,
developers can create mobile applications that are both visually appealing and highly
functional, without having to write separate codebases for different platforms. Therefore, it is
important for developers to consider Flutter as a framework of choice for their mobile app
development projects.

Features of Flutter:

 Fast development
 Cross-platform development
 Reactive programming
 Customizable widgets
 Native performance
 Strong community

17
3.32BACKEND :

FIREBASE:

Firebase is a cloud-based platform owned by Google that provides a range of services for
mobile and web app development. It offers backend features such as real-time database,
authentication, cloud storage, cloud messaging, and more. Firebase allows developers to build
apps quickly and efficiently without worrying about server management or infrastructure.
Firebase's real-time database service allows developers to store and sync data in real-time
across different devices and platforms. Firebase authentication provides secure and easy-to-
use authentication and authorization services for your app, allowing users to sign in with
email and password, Google, Facebook, or other third-party providers.

Firebase also provides developers with a robust authentication system that allows users to
securely sign in to their applications using a variety of authentication providers, including
email and password, phone number, Google, Facebook, Twitter, and more. This makes it easy
for developers to add authentication to their applications without having to worry about
security and scalability issues.

Another important feature of Firebase is its hosting service. Firebase Hosting provides
developers with a fast and secure way to deploy their web applications to a global network of
servers. This ensures that applications load quickly and reliably, regardless of where users are
accessing them from.

Firebase Cloud Messaging is a powerful messaging platform that allows developers to send
notifications and messages to users across multiple platforms, including iOS, Android, and
the web. This makes it easy for developers to engage their users and keep them informed
about new features and updates.

Finally, Firebase Analytics provides developers with powerful insights into how their
applications are being used. This includes information on user engagement, retention, and
conversion rates. Firebase Analytics is easy to set up and provides developers with a range of
reports and dashboards to help them optimize their applications for better performance and
user engagement.

In conclusion, Firebase is a powerful platform that provides developers with a range of tools
and services to build high-quality applications quickly and easily. With its real-time database,
authentication system, hosting service, messaging platform, and analytics, Firebase is the
perfect platform for developers who want to build high-quality applications that are scalable,
secure, and engaging.
18
The greatest features are:

 Real-time database
 Authentication
 Cloud messaging
 Cloud storage
 Scalable and fast hosting service for web apps.
 Analytics
 Performance monitoring
 Test lab
 Crash reporting
 Machine learning

Input Devices Mouse, Keyboard

Output Devices Monitor, Smart Phone

19
Memory 4GB Ram (Minimum)

Hard Disk 500GB

3.4 SYSTEM SPECIFICATION


3.4.1 Hardware Requirements: -

3.4.2 Software Requirements: -

The Software specification means the operating system and all other
applications or tools used for the development of the proposed system. It
includes the operating system, and the software which we are going to use.

Operating System Android


Front End Flutter
Backend FireBase

3.5 SOFTWARE REQUIRMENT SPECIFICATION(SRS)


A software requirements specification (SRS) is a description of a software system to be
developed, laying out functional and non- functional requirements. (Non-functional
requirements impose constraints on the design or implementation such as performance
engineering requirements, quality standards, or design constraints.) The specification may
include a set of use cases that describe interactions the users will have with the software. The

20
software requirements specification document enlists enough and necessary requirements that
are required for the project development. To derive the requirements, we need to have clear
and thorough understanding of the products is to be developed or being developed. This is
achieved and refined with detailed and continuous communications with the project team and
customer till the completion of the software.

3.6 FEASIBILITY STUDY


Feasibility is defined as the practical extent to which a project can be performed
successfully. The objective of feasibility study is to establish the reasons for developing the
software that is acceptable to the users, adaptable to changes and conformable to the
established standards.

• Feasibility study lets the developer to foresee the future of the project
and its usefulness.

• Finding out whether a new system is required or not.


• Determining the potential and drawbacks of the existing system.
• Identification of user requirements and the benefit expected by the user
from the resulting system.

• Finding out the various alternatives available.


• Knowing what should be incorporated in the new system.
• Defining the ingredients and the objectives involved in the project.
• Identifying whether the proposed system could meet the end needs of
the use.

• Providing technical, economical, operational feasibility of the


proposed system.
Various types of feasibility that are commonly considered include:
1) Economic feasibility
2) Operational feasibility
3) Technical feasibility

1) TECHNICAL FEASIBILITY

21
The technical feasibility centers on the existing system hardware, software, etc. and to what
intent if supports the proposed system. Since the “FIXGO-CAR WORKSHOP TIME
WEBSITE” system have all the require software such as Net beans, Android Studio, SQL
yog. The hardware such as i3classprocessor with 500GB Hard disk, hence it is technically
feasible.

2) ECONOMIC FEASIBILITY

Economic analysis is the most frequently used method for evaluating the effectiveness of a
candidate system Here all the processes being done without including additional cost to
employ other resources than available with the existing internet infrastructure. There is no
need for the initial expense with this project. Hence it can be said that, this package is
economically feasible.

3) OPERATIONAL FEASIBILITY

An estimate should be made to know how strong their action of user is likely to have towards
the new system. Since this system ready to use in the World Wide Web, So the system is
operationally feasible. As this package is technically, economically, and functionally feasible,
the system is judged feasible. Viewing the collected information, recommendation and
justification, conclusion is made of the proposed system.

22
4.DESIGNING AND DEPLOYMENT

System design provides an understanding of the procedural details, necessary for


implementing the system recommended in the feasibility study. Basically it is all about the
creation of a new system. This is a critical phase since it decides the quality of the system and
as a major impact on the testing and implementation phases.
System design consist of three major steps:
 Drawing of the expanded system data flow charts to identify all the processing
functions required.
The allocation of the equipment and the software to be used.
The identification of the test requirements for the system
Characteristics of Design:
A design should exhibit a hierarchical organization that makes intelligent use of control
among components of the software.
A design should be modular that is, the software should be logical.
• A design should contain distinct and separable representation of the
data and procedure
• A design should lead to interface that reduce the complexity of the
connections between modules and with the external environment.

4.1 INPUT DESIGN


Input design is the primary step in the system design, to design the input with in predefined
guidelines. The objective of the input layout is that easy to follow and does not include
operator errors.
Input design is the process of converting user-oriented input into the computer based output.
Input data are collected and organized into groups of similar data. The goal of designing
input data is to make data entry easy, logical and free from errors as possible.
In input design the administrator checks that the entered data is valid or not. If the data
is valid, administrator adds data into the database otherwise rejects the data. When a
registered user login into the system, the system checks that whether the user is registered or
not and if registered, then it permits to edit his profile.

23
4.2OUTPUT DESIGN
The output design has been an ongoing activity. Computer output is the most important and
direct source of information to the user. Efficient, intelligible output design should improve
the system’s relationship with the user and helps in decision making. Designing output
requires understanding user’s output requirements. The system produces an output which
varying according to user requirements.
Here user interface is shown as graph in screen, printed reports are based on data. In this
similar output in the manual process, this will solve the user’s problem and will be the
ultimate result of the application. The outline of the output design is detected by user’s
requirements.

4.3 DATABASE DESIGN


A database is a collection of logically related records. The main objective of database design
is to provide effective auxiliary storage without any applications and to contribute to the
overall efficiency of the computer program components of the whole system. The
organization of data in the database aims to achieve the following objectives.
 Controlled redundancy
 Ease of learning in use
 Data independence
 More information in low cost
 Accuracy and integrity
 Recovery from failures
 Privacy and security
 Performance
In this project we use a non relational database called MongoDB. A non-relational database is
a database that does not use the tabular schema of rows and columns found in most traditional
database systems. Instead, nonrelational databases use a storage model that is optimized for
the specific requirements of the type of data being stored. collection is designed as a
collection documents .

The model for a document is designed externally with a driver program called mongoose js.
The model should be carefully designed because the efficiency of the efficiency of the
software is based on the model design. The organization of data in a database aims to achieve
three major objectives, at integration, data integrity and data independency.

24
4.4 DATA FLOW DIAGRAM(DFD)
Data Flow Diagram (DFD) is used to define the flow of the system and its resources such as
information. Data flow diagrams are the way of expressing system requirements in a
graphical manner. DFD represents one of the most ingenious tools used for structured
analysis. A DFD is also known as a bubble chart. It has the purpose of clarifying system
requirements identifying major transformations that will become programs in system design.
In the normal convention, logical DFD can completed using only $ notations.

: : Represents process.

: Represents data flow.

: Represents the

: Represents data storage/data base.

25
0 LEVEL DFD

26
1 LEVEL DFD

27
5.CODING(SAMPLE)

LOGIN PAGE

import 'package:fixgo/main.dart';
import 'package:fixgo/reg.dart';
import 'package:flutter/material.dart';
void main(){
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
home: app(),
));
}
class app extends StatefulWidget {
const app({Key? key}) : super(key: key);

@override
State<app> createState() => _appState();
}

class _appState extends State<app> {


@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Padding(
padding: const EdgeInsets.only(right: 20,left: 20),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 10,
),
Image.asset("assets/car.png",
height: 250,
width: double.infinity,),
SizedBox(
height: 1,
width: 1,
),

ClipRRect(
borderRadius: BorderRadius.circular(20),
child: Container(
height: 550,
width: double.infinity,
color: Colors.blue[50],
child: Padding(
padding: const EdgeInsets.only(right: 20.0,left: 20,top: 20),
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children:[
Text(
"Login",
style: TextStyle(fontSize: 24,color:
Colors.blue[900],letterSpacing: 2,
fontWeight: FontWeight.w900),
),

SizedBox(
height: 40,
),
Text(
"email",
style: TextStyle(fontSize: 21,color: Colors.blue[900]),
),
SizedBox(
height: 5,
),
Container(

28
decoration: BoxDecoration(
border: Border.all(
color: Colors.black12,
),
color: Colors.white,
borderRadius:
const BorderRadius.all(Radius.circular(10))),
child: const TextField(
decoration: InputDecoration(
icon: Padding(
padding: EdgeInsets.only(left: 10.0),
child: Icon(Icons.account_circle_rounded,color:
Colors.black,),
),
border: InputBorder.none,
hintText: 'enter email',
contentPadding: EdgeInsets.only(right: 1)),
),

),
SizedBox(
height: 30,
),
Text(
"password",
style: TextStyle(fontSize: 21,color: Colors.blue[900]),
),
SizedBox(
height: 5,
),
Container(
decoration: BoxDecoration(
border: Border.all(
color: Colors.black12,
),
color: Colors.white,
borderRadius:
const BorderRadius.all(Radius.circular(10))),
child: const TextField(
obscureText: true,
decoration: InputDecoration(
icon: Padding(
padding: EdgeInsets.only(left: 10.0),
child: Icon(Icons.lock_outline,color: Colors.black,),
),
border: InputBorder.none,
hintText: 'enter password',
contentPadding: EdgeInsets.only(right: 1)),
),
),
SizedBox(
height: 5,
),
InkWell(onTap: (){},
child: Text(
"forgot password? ",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.blue[900]),
),),
SizedBox(
height: 40,
),
Align(
alignment: Alignment.center,
child: SizedBox(
height: 40,
width: 200,
child: MaterialButton(
color: Colors.blue[900] ,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),),
child: Text(
"Login",
style: TextStyle(color: Colors.white, fontSize: 20),

29
),
onPressed: (){

Navigator.push(
context,
MaterialPageRoute(builder: (context) => const nav()),
);
}
),
),
),
SizedBox(
height: 8,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("new user?",
style: TextStyle(fontSize: 14,color: Colors.black), ),
InkWell(onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const register()),
);
},
child: Text(
"Sign Up ",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.red),
),),

],
),
SizedBox(
height: 30,
),
Align(
alignment: Alignment.center,
child: Text('connect with us',style: TextStyle(fontSize:
15.0,color: Colors.black))

),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(onPressed: (){}, icon: Icon(Icons.facebook),color:
Colors.blue,iconSize: 35,),
IconButton(onPressed: (){}, icon:
Image.network('https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Instagram-Icon.png/
1025px-Instagram-Icon.png'),iconSize: 30,),
IconButton(onPressed: (){}, icon:
Image.network('https://cdn4.iconfinder.com/data/icons/social-media-icons-the-circle-set/48/
twitter_circle-512.png'))
],
)

],),),
),
),
),
],
),
),
),
);
}
}
HOMEPAGE
import 'package:fixgo/page1.dart';
import 'package:fixgo/page10.dart';
import 'package:fixgo/page11.dart';
import 'package:fixgo/page12.dart';
import 'package:fixgo/page2.dart';

30
import 'package:fixgo/page3.dart';
import 'package:fixgo/page4.dart';
import 'package:fixgo/page5.dart';
import 'package:fixgo/page6.dart';
import 'package:fixgo/page7.dart';
import 'package:fixgo/page8.dart';
import 'package:fixgo/page9.dart';
import 'package:fixgo/services.dart';
import 'package:fixgo/signin.dart';
import 'package:flutter/material.dart';

void main(){
runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home:page1(),
)
);
}
class page1 extends StatefulWidget {
const page1({Key? key}) : super(key: key);

@override
State<page1> createState() => _page1State();
}

class _page1State extends State<page1> {


int indexNum =0;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
iconTheme: IconThemeData(color: Colors.blue[900]),
title: Text('FIXGO',style: TextStyle(color: Colors.blue[900],fontWeight:
FontWeight.bold)),
backgroundColor: Colors.white,
centerTitle: true,
actions: [
GestureDetector(
onTap: (){
},
child: Icon(Icons.more_vert,color: Colors.black,),
)
],
),
drawer: Drawer(
child: Column(
children: <Widget>[
Container(width: double.infinity,
padding: EdgeInsets.all(20),
color: Theme.of(context).primaryColor,
child: Center(
child: Column(
children: <Widget>[
Container(
width: 100,
height: 100,
decoration: const BoxDecoration(),
),
Text("user1",style: TextStyle(fontSize: 22,color: Colors.white),),
Text("[email protected]",style: TextStyle(fontSize: 22,color:
Colors.white),),
],
),
),
),
ListTile(leading: Icon(Icons.person),
title: Text('Profile'),
),
ListTile(leading: Icon(Icons.settings),
title: Text('Settings'),),
ListTile(leading: Icon(Icons.logout),
title: InkWell(
onTap: (){
Navigator.push(

31
context,
MaterialPageRoute(builder: (context) => const app()),
);
},
child: Text('Logout')),),
],
),
),
body:
Center(
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(top: 25.0),
child: TextField(
decoration: InputDecoration(
hintText: 'search...',
suffixIcon:IconButton(onPressed: (){}, icon: Icon(Icons.search)),
prefixIcon: IconButton(onPressed: (){}, icon: Icon(Icons.search)),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15.0)
)

)
),
),

Container(
height: 300,
width: 300,
child: Card(
child: Image.asset(
'assets/repair.png',
fit: BoxFit.cover,
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50.0),
),
elevation: 5,
margin: EdgeInsets.all(10),
),
),
SizedBox(
height: 30,
),
SizedBox(
height: 50,
width: 170,
child: ElevatedButton(
onPressed: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const pageorder()),
);
},
child: Text(
"place order",style: TextStyle(fontSize: 25,fontWeight:
FontWeight.bold,color: Colors.white)
),
style: ButtonStyle(
foregroundColor: MaterialStateProperty.all<Color>(Colors.white),
backgroundColor:
MaterialStateProperty.all<Color>(Colors.blue.shade900),
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
side: BorderSide(color: Colors.blue)
)
),
),
),
),
SizedBox(
height: 20,

32
),

Text('services',
style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),

SizedBox(
height: 20,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page2()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/calender.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('scheduled',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(
width: 20,
),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page3()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/paint.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('value added',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,

33
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page4()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/repair1.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('Repair',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
SizedBox(height: 20,),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page5()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/wash.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('car wash',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page6()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/car1.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),

34
Text('Modification',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page7()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/accident.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('Accident',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
SizedBox(
height: 50,
),
Text('Accessories',
style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page8()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/speaker.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('speakers',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),

35
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page9()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/clean.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('car care',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page10()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/cover.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('seat cover',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),
SizedBox(
height: 20,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page11()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [

36
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/caution.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('caution',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page12()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/protection.png',),height: 60,width: 70,fit:
BoxFit.cover,
),
),
Text('Protectives',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
),
SizedBox(width: 20,),
Material(
color: Colors.grey[200],
elevation: 6,
borderRadius: BorderRadius.circular (28),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const page13()),
);
},
child:Column(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Ink.image(image: const AssetImage(
'assets/light.png',),height: 60,width: 70,fit: BoxFit.cover,
),
),
Text('Lights',style: TextStyle(fontSize: 13),),
SizedBox(height: 6,)
],
),),
)
],
),

]),
),

);}}

37
Accessories
import 'package:fixgo/buy.dart';
import 'package:fixgo/page10_1.dart';
import 'package:fixgo/page10_2.dart';
import 'package:fixgo/page10_3.dart';
import 'package:fixgo/page11_1.dart';
import 'package:fixgo/page11_2.dart';
import 'package:fixgo/page11_3.dart';
import 'package:fixgo/page12_1.dart';
import 'package:fixgo/page12_2.dart';
import 'package:fixgo/page13_1.dart';
import 'package:fixgo/page8_2.dart';
import 'package:fixgo/page8_3.dart';
import 'package:fixgo/page9_1.dart';
import 'package:fixgo/page9_3.dart';
import 'package:flutter/material.dart';
void main(){
runApp(
MaterialApp(
debugShowCheckedModeBanner: false,
home:accessories() ,
)
);
}
class accessories extends StatefulWidget {
const accessories({Key? key}) : super(key: key);

@override
State<accessories> createState() => _accessoriesState();
}

class _accessoriesState extends State<accessories> {


@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Colors.white,
title: Text('Accessories',style: TextStyle(color:
Colors.blue[900],fontWeight: FontWeight.bold)),
leading: GestureDetector(
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const buy()),
);
},
child:Icon(Icons.arrow_back_ios,color: Colors.blue[900],)
),
),
body: SingleChildScrollView(
child: Column(
children: [
SizedBox(height: 20,),
Text('Speakers',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],

38
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page8_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/koq33ww0/car-speaker/r/h/e/
sb-tw-ss020-300w-max-sound-boss-original-imag34crfppgz6da.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Sound Boss)',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page8_3()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/l37mtu80/car-speaker/6/5/a/
16-300-sb-b16-15-s-songbird-original-imagedugkcywph5b.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('songbird',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),

39
],
),
),
),
SizedBox(height: 20,),
Text('Car care',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page9_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/k6jnfrk0/automotive-combo/z/
a/k/foafee404-indopower-original-imafnp2rzx2jtezy.jpeg?q=70'),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('INDOPOWER+CLOTH ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 12,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/kxw5tow0/car-interior-
cleaner/b/q/g/350-baalcc974-indopower-original-imaga8vhfjmatacw.jpeg?
q=70',),

40
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('INDOPOWER +Brush',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 12,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page9_3()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/kxw5tow0/car-interior-
cleaner/4/t/w/600-baalcc1003-indopower-original-imaga8vhxrhkwutq.jpeg?
q=70',),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('INDOPOWER+Brush ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 12,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Seat cover',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,

41
MaterialPageRoute(builder: (context) => const
page10_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/car-seat-cover/p/x/6/towel-
car-seat-cover-0851-jmjw-sons-original-imaekkrzxy4uytkf.jpeg?q=70'),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Seat Cover(4 Seater)',style:
TextStyle(fontWeight: FontWeight.bold,fontSize: 12,color:
Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page10_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/j79czgw0/car-seat-cover/e/b/
v/brown4035-jmjw-sons-original-imaexjgky3zcrhbf.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('JSeat Cover(5 Seater)',style:
TextStyle(fontWeight: FontWeight.bold,fontSize: 12,color:
Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(

42
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page10_3()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(
'https://rukminim1.flixcart.com/image/832/832/car-
seat-cover/w/z/9/towel-car-seat-cover-0891-jmjw-sons-original-
imaekqesrshhn4zx.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Seat Cover (4 Seater)',style:
TextStyle(fontWeight: FontWeight.bold,fontSize: 12,color:
Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Roadside Assistance',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page11_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/xif0q/car-reflector-light/j/
y/3/foldable-warning-triangle-reflector-road-safety-reflective-with-
original-imagkh3wvk3cahst.jpeg?q=70'),

43
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text(' Reflector ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page11_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/kevpwnk0/tire-air-pump/9/m/
t/car-metallic-heavy-duty-tyre-inflator-mytvs-original-
imafvgvcwqfgshgb.jpeg?q=70',),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Tyre Air Pump ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page11_3()),
);
} ,

44
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/xif0q/vehicle-jack/l/l/l/
jack-rod-for-mechanical-scissor-vehicle-lift-jack-vehicle-800kg-original-
imagmc9debc6hs4a.jpeg?q=70',),
height: 200,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Vehicle Jack ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Protectives',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page12_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/k63xle80/car-cover/y/f/6/
gsmp-358-giffen-original-imafzmgghe5b5vfu.jpeg?q=70'),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Car Cover ',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],

45
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page12_2()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/xif0q/car-door-bumper-guard/
b/u/j/8-8pcs-universal-3d-carbon-fiber-texture-car-door-handle-door-
original-imagn9zs9gs5qbqj.jpeg?q=70',),
height: 100,width: 180,
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Car Door Guard',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
Text('Light',style: TextStyle(
fontSize: 23,color: Colors.yellow[800]
)),
SizedBox(height: 20,),
Material(
color: Colors.grey[200],
elevation: 8,
borderRadius: BorderRadius.circular(10),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: InkWell(
splashColor: Colors.blue,
onTap: (){
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const
page13_1()),
);
} ,
child: Row(
children: [
SizedBox(width: 30,),
Ink.image(
image: NetworkImage(

'https://rukminim1.flixcart.com/image/832/832/ku79vgw0/head-light-unit/e/
s/p/led-new-car-led-focus-beam-light-and-flood-light-off-roading-for-
original-imag7dqgysu4q6gb.jpeg?q=70'),
height: 100,width: 180,

46
fit: BoxFit.cover,
),
SizedBox(width: 10 ,),
Text('Fog Light',style: TextStyle(fontWeight:
FontWeight.bold,fontSize: 18,color: Colors.blue[900]),
),
],
),
),
),
SizedBox(height: 20,),
],
),
),
);
}
}
Backend

47
48
TESTING AND IMPLEMENTATION

6.1 SYSTEM TESTING


Testing is a process of executing a program with intend of finding an error. Software testing
is critical element of software quality assurance and represents the ultimate review or
specification, design and coding. Testing includes verification of the basic logic of each
program and verification that the entire system works properly. Testing demonstrates that
software function appears to be working according to specification. In addition, data
collected as testing is conducted provided a good indication of software quality as while. The
debugging process is the most unpredictable part of testing process.
Testing begins at the module level and works towards the integration of the entire computer
based system testing and debugging are different activities, but any testing includes
debugging strategy for software testing must accommodate low level tests that are necessary
to verify that a small source code segment has been currently implemented as well as high
level tests that validate major system function, against customer requirements. No testing is
complete without verification and validation part.
The goals of verification and validation activities are to access and improve the quality of
work products generated during the development and modification of the software. There are
two types of verification: life cycle verification and formal verification. Life cycle
verification is the process of determining the degree to which the products of the given phase
of the development cycle fulfil the specification established during the prior process. Formal
verification is the rigorous mathematical demonstration that source code confirms to its
specification. Validation is a process of evaluating software at the end of its specification and
the software development process to determine compilation with the requirements.
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and code generation. The primary objectives, when
we test the software are the following.
Testing is a process of exceeding with intend of finding an error.
A good test case is one that has a high probability of finding an undiscovered error.
A successful test is one that uncovers undiscovered error.
Software testing determines the correctness, completeness, and quality of software
being developed. Validation refers to the process of checking that the developed software
meets the requirements specified by the user. The activities involved in the testing phase
basically evaluate the capability of that system meets its requirements. The main objective of
software testing is to detect errors in the software. Errors occur if some part of the developed
system is found to be incorrect, incomplete or inconsistent. Test techniques include, but are
not limited to, the process of executing a program or application with the intent of finding
software bugs (errors or other defects). It involves the execution of a software component or
system to evaluate one or more properties of interest. In general, these properties indicate the
extent to which the component or system under test:
• meets the requirements that guided its design and development.
• responds correctly to all kinds of inputs.
• performs its functions within an acceptable time.

49
• is sufficiently usable.
• can be installed and run in its intended environments, and
• Achieves the general result its stakeholder’s desire.

As the number of possible tests for even simple software components is practically infinite,
all software testing uses some strategy to select tests that are feasible for the available time
and resources. As a result, software testing typically (but not exclusively) attempts to execute
a program or application with the intent of finding software bugs (errors or other defects).
Software testing can provide objective, independent information about the quality of software
and risk of its failure to users and/or sponsors. Software testing can be conducted as soon as
executable software (even if partially complete) exists. The overall approach to software
development often determines when and how testing is conducted. For example, in a phased
process, most testing occurs after system requirements have been defined and then
implemented in testable programs. In contrast, under an Agile approach, requirements,
programming, and testing are often done concurrently.

Thus, testing plays a very critical role in determining the reliability and efficiency of the
software and hence is very important stage in software development. There are to be
conducted on the software evaluate its performance under a number of conditions. Ideally, it
should so at the level of each module and also when all of them are integrated to form the
completed system.

TESTING TECHNIQUES
The various testing techniques are,
White box Testing
Tests are performed to ensure that all internal operations of the software are performed
according to the specifications of the client. This is called White box testing.
White-box testing (also known as clear box testing, glass box testing, transparent box testing,
and structural testing) is a method of testing software that tests internal structures or workings
of an application, as opposed to its functionality (i.e. black-box testing).
In white-box testing an internal perspective of the system, as well as programming skills, are
used to design test cases. White-box testing can be applied at the unit, integration and system
levels of the software testing process. Although traditional testers tended to think of white-
box testing as being done at the unit level, it is used for integration and system testing more
frequently today. It can test paths within a unit, paths between units during integration, and
between subsystems during a system–level test. Though this method of test design can
uncover many errors or problems, it has the potential to miss unimplemented parts of the
specification or missing requirements. The details entered by the administrator are saved and
stored in the database, and testing is done to verify whether the control of each form or action
is working in the exact way. Using white-box testing methods, the software engineer can
derive the test cases that
• Guarantee that all independent paths within a module have been
exercised at least once.

50
• Exercise all logical decision on their true and false sides.
• Execute all loops at their boundaries and within their operational
bounds.
• Exercise internal data structure to ensure their validity.

Black box Testing


Tests are performed to ensure that each function is working properly. This is referred to as
Black box testing. Black-box testing is a method of software testing that examines the
functionality of an application (e.g. what the software does) without peering into its internal
structures or workings. This method of test can be applied to virtually every level of software
testing: unit, integration, system and acceptance.
It typically comprises most if not all higher level testing, but can also dominate unit testing as
well. Test cases are built around specifications and requirements, i.e., what the application is
supposed to do. Test cases are generally derived from external descriptions of the software,
including specifications, requirements and design parameters. Although the tests used are
primarily functional in nature, non-functional tests may also be used. The test designer selects
both valid and invalid inputs and determines the correct output without any knowledge of the
test object's internal structure. Testing is conducted in the system so that the functions namely
Login, sending requests, searching the nearest donor, getting routes to the nearest blood
banks etc... Are done properly.
Black box testing attempts to find errors in the following categories

• Incorrect or missing files.


• Interface errors
• Errors on data structure or external database access.
• Behavior or performance errors.
• Initialization and termination errors

6.2 TESTING STRATEGY

6.2.1Condition Testing

Test cases are derived to determine whether the logic conditions and decision statements are
free from errors. Condition testing strategy is used to check if the operators used are correct
and to verify conditions such as if an error message is displayed if a non- registered user is
signed in to the app, or a user is registered without providing his body mass index value.
6.2.2Loop Testing

This testing is used to check the variety of loops present in programming. The working of the
loops such as while, for and do while are checked for its proper execution. The statements
inside the loop body are executed line by line for every condition that satisfies the loop.
6.2.3Unit Testing

This testing is performed to test the individual units in the system. Each module

51
in the system is tested individually and executed line by line for accurate functioning of the
system. The admin module has been tested for its proper functioning, since all services are
providing and data is stored and controlled by this module.
6.2.4Integration Testing
The objective of integration testing is to take all tested individual modules,
integrate them, test them again and develop the system. The Mobile application module, the
blood bank module as well as the admin should be integrated together for the proper
functioning of the whole system. Testing is conducted at this stage to check whether the
requested services are reaching to the admin through the mobile device and when requested
by the user for the nearest blood bank, it’s been available to the user appropriately.
6.2.5Acceptance Testing
This testing is performed to ensure that the functional, behavioral, and performance
requirements of the system is met. It may involve chemical tests, physical tests, or
performance tests. The acceptance test suite is run against the supplied input data or using an
acceptance test script to direct the testers. Then the results obtained are compared with the
expected results. If there is a correct match for every case, the test suite is said to pass. If not,
the system may either be rejected or accepted on conditions previously agreed between the
sponsor and the manufacturer. The objective is to provide confidence that the delivered
system meets the business requirements of both sponsors and users. The acceptance phase
may also act as the final quality gateway, where any quality defects not previously detected
may be uncovered. The system is implemented after all these checks and validations
6.26Output Testing
Output testing of the proposed system is important since no system could be useful if it does
not produce the required output. The output format on the screen is found to be correct. as the
format was designed in the system design phase according to the user needs. For the hard
copy also the output comes out as the specified requirements by the user. Hence output
testing doesn’t result in any correction on the system.

52
6.3SYSTEM IMPLEMENTATION
System implementation is the final stage of software development life cycle. For the
successful implementation and cooperation of new systems users must be selected, educated
and trained. Unless the users are not trained, the system will become complex and it will feel
as a burden for them. A product software implementation method is a systematically
structured approach to effectively integrate software based service or component into the
workflow of an organizational structure or an individual end-user. A product software
implementation method is a blueprint to get users and/or organizations running with a
specific software product.
The method is a set of rules and views to cope with the most common issues that
occur when implementing a software product: business alignment from the organizational
view and acceptance from human view. It is stated that the implementation of (product)
software consumes up to 1/3 of the budget of a software purchase The complexity of
implementing product software differs on several issues. Examples are: the number of end
users that will use the product software, the effects that the implementation has on changes of
tasks and responsibilities for the end user, the culture and the integrity of the organization
where the software is going to be used and the budget available for acquiring product
software.
The implementation stage of the system begins by preparing a plan for implementation of the
system. According to this plan, activities are to be carried out, discussions are made regarding
the equipment to be required and resources and additional facilities required implementing
the system. The most critical stage in achieving a successful system is by giving users
confidence that the system will work based on their requirements and be effective. This
method also offers the greatest.

53
7. MAINTENENCE AND SECURITY
7.1 SYSTEM MAINTANENCE
A process of modifying a software system or component after delivery to correct faults, to
improve performance is known as software maintenance. A common perception of
maintenance is that it merely involves fixing defects. However, one study indicated that the
majority, over 80%, of the maintenance effort is used for non- corrective actions. Software
maintenance is a very broad activity that includes error correction, enhancements of
capabilities, deletion of obsolete capabilities, and optimization. Because change is inevitable,
mechanisms must be developed for evaluation, controlling and making modifications. So any
work done to change the software after it is in operation is considered to be maintenance
work.
The purpose is to preserve the value of software over the time. The value can be enhanced by
expanding the customer base, meeting additional requirements, becoming easier to use, more
efficient and employing newer technology Maintenance may span for 20 years, whereas
development may be 1-2 years. Corrective maintenance is done to repair the faults or defects
found in day – to –day system functions, that is software design, logic and coding errors.
Adaptive maintenance is the implementation of changes in a part of the system which has
been affected by changes that occurred in some other part of the system. The objective of
perspective maintenance should be to prevent failures and optimize the software. Minor
adaptive changes should be handled by normal maintenance process

54
7.2SYSTEM SECURITY
System security is a branch of technology known as information security as applied to
computers and networks. The objective of system security includes protection of
information and property from theft, corruption, or natural disaster, while allowing the
information and property to remain accessible and productive to its intended users. The
terms system security, means the collective processes and mechanisms by which sensitive
and valuable information and services are protected from publication, tampering or collapse
by unauthorized activities or untrustworthy individuals and unplanned events respectively.
The technologies of system security are based on logic. As security is not necessarily the
primary goal of most computer applications, designing a program with security in mind
often imposes restrictions on that program's behavior. Internet is a part of everyday life; web
applications are an essential component of every business activity. Customers and trading
partners expect fast, accurate and secure applications with robust functionality.
Companies want sites that are easy to maintain and update, yet cost effective. Auditors and
security officers want to ensure that the web applications are controlled and that there is
strong data integrity. All of these requirements need to be blended to ensure that each web
application meets the company’s goals, satisfies the customers Any system developed should
be secured and protected against possible hazards.
Security measures are provided to prevent unauthorized access of various levels. An
uninterrupted supply should be provided, so that the power failure or voltage fluctuations will
not erase the data in the files or database. Data security is the practice of keeping data
protected from corruption and unauthorized access. The focus behind data security is to
ensure privacy while protecting personal or corporate data. Data is the raw form of
information stored as columns and rows in our database, network servers and personal
computers. Authorization ensures that the logged-in user is allowed to use a page or perform
an operation. Authorization is typically based on one or more roles (sometimes called groups)
to which the user belongs.

55
8.CONCLUSION
To conclude the description about the project, Fixgo is an innovative application project
that provides a comprehensive solution for booking car services online. The platform offers a
user-friendly interface that allows customers to quickly and easily book car services in just a
few clicks. The application project provides a wide range of services, including car
maintenance, repairs, and cleaning.

One of the standout features of Fixgo is its streamlined booking process. Customers can
easily schedule an appointment for car services using the application, and receive real-time
updates on the status of their booking. This makes the process of booking car services
convenient and stress-free.

Fixgo also provides customers with access to a network of trusted car service providers. This
ensures that customers can receive high-quality services from reliable providers. The
application project is designed to offer transparency and accountability, with detailed service
Another key benefit of Fixgo is its focus on customer satisfaction. The platform offers a range
of customization options, allowing customers to tailor their service bookings to their specific
needs. Additionally, the application project offers a range of payment options, including
secure online payments and cash payments.

Overall, Fixgo is a game-changing application project that offers a convenient and reliable
solution for booking car services online. With its user-friendly interface, trusted service
providers, and focus on customer satisfaction, Fixgo is poised to become a leading player in
the online car services market. Whether you need routine car maintenance or emergency
repairs, Fixgo is the go-to platform for all your car service needs. Try Fixgo today and
experience the future of online car services!

56
9.BIBLIOGRAPHY

Website:

• https://docs.flutter.dev/reference/tutorials
• https://www.tutorialspoint.com/flutter/index.html
• https://firebase.google.com
• https://pub.dev

57
10.ANNEXTURE

Screenshots

58
59
60
61

You might also like